当前位置: 首页 > news >正文

git常用命令

(一)克隆代码(clone):将远程仓库代码克隆到本地仓库

克隆远程仓库某个分支
git clone -b 远程分支名称 https://github.com/master/master.git 本地文件名称

克隆远程仓库默认分支
git clone https://github.com/master/master.git

(二)检出代码(checkout):将本地仓库代码检出到工作区

创建新的分支并切换到这个分支
git checkout -b 分支名称

切换到某个分支
git checkout 分支名称

分支重命名
git branch -m 老分支名称 新分支名称

查看本地分支
git branch

查看远程分支
git branch -r

删除本地分支(必须切换到其他分支,才能删除这个分支)
git branch --delete 分支名称

删除远程分支
git push origin --delete 分支名称

(三)添加代码(add):将工作区代码添加到暂存区

查看代码中修改了哪些文件、新增了哪些文件
git status

修改的文件:添加文件到暂存区
git add ./test.cpp

新增的文件:强制增加文件到暂存区
git add -f ./test.cpp

添加所有文件到暂存区
git add *

添加所有文件到暂存区
git add .

将已跟踪文件中的修改和删除的文件添加到暂存区,不包括新增加的文件
git add -u .

将所有的已跟踪的文件的修改与删除和新增的未跟踪的文件都添加到暂存区
git add -A .

添加某个文件类型到暂存区
git add *.cpp

添加整个文件夹到暂存区
git add src/

删除文件
git rm ./test.cpp

(四)提交代码(commit):将暂存区代码提交到本地仓库

查看本地分支和远程分支的区别
git diff

查看本地分支和特定分支的区别
git diff origin/master

查看本地分支和远程分支的某个文件的区别
git diff ./test.cpp

将暂存区的代码提交到本地仓库
git commit -m “描述信息”

如何撤回commit?

HEAD^ 撤回 上一个版本
HEAD~1 撤回 上一个版本
HEAD~2 撤回 上两个版本
commit_id 撤回到 某个指定版本

(1)撤回提交到本地仓库的commit

第一步 获取要撤回到的commit ID
git log

第二步 撤回到历史commit

撤回上一个版本
git reset --soft HEAD^

撤回上一个版本
git reset --soft HEAD~1

撤回上两个版本
git reset --soft HEAD~2

撤回到 某个commit

使用 --hard 参数会抛弃当前工作区,暂存区,本地版本区的修改
git reset --hard commit_id

使用 --soft 参数会抛弃当前本地版本区的修改,但保留当前工作区和暂存区的修改,可以重新提交
git reset --soft commit_id

使用 --mixed 参数会抛弃当前暂存区和本地版本区的修改,但保留当前工作区修改,可以重新提交
git reset --mixed commit_id

(2)撤回提交到远程仓库的commit

第一步 获取要撤回的commit ID
git log

撤回上一个版本
git reset --soft HEAD^

撤回上一个版本
git reset --soft HEAD~1

撤回上两个版本
git reset --soft HEAD~2

撤回到 某个commit

使用 --hard 参数会抛弃当前工作区,暂存区,本地版本区的修改
git reset --hard commit_id

使用 --soft 参数会抛弃当前本地版本区的修改,但保留当前工作区和暂存区的修改,可以重新提交
git reset --soft commit_id

使用 --mixed 参数会抛弃当前暂存区和本地版本区的修改,但保留当前工作区修改,可以重新提交
git reset --mixed commit_id

第三步 将本地撤回到的commmit提交到远程仓库
git push origin HEAD --force

(五)拉取代码(pull):将远程仓库代码拉取到本地仓库(合master)

将远程仓库的主干分支(master分支)合并到本地分支
git pull origin master

如果产生冲突,如何处理?

两种情况:
(1)提交的代码与master有冲突
确认提交的代码没有问题,删除master的代码,保留提交的代码

(2)提交的代码与其他人提交的代码有冲突,其他人优先于你合了master
将其他人已经合到master的改动添加到提交的代码中

(六)推送代码(push):将本地仓库代码推送到远程仓库

将本地分支推送到远程分支(如果远程分支不存在,就创建一个新的远程分支)
git push origin 本地分支名称:远程分支名称

将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则新建这个远程分支。
git push origin 本地分支名称

如果本地分支和远程分支存在追踪关系,本地分支和远程分支都可以省略。将本地分支推送到origin主机上的对应分支。
git push origin

(七)master分支打tag

查看存在的tag
git tag

删除本地tag
git tag -d tag名称

删除远程tag
git push origin --delete tag tag名称

打tag
git tag -a tag名称 -m “描述信息”

推送tag
git push origin tag名称

相关文章:

git常用命令

(一)克隆代码(clone):将远程仓库代码克隆到本地仓库 克隆远程仓库某个分支 git clone -b 远程分支名称 https://github.com/master/master.git 本地文件名称 克隆远程仓库默认分支 git clone https://github.com/mas…...

2022年12月电子学会Python等级考试试卷(一级)答案解析

青少年软件编程(Python)等级考试试卷(一级) 一、单选题(共25题,共50分) 1. 关于Python语言的注释,以下选项中描述错误的是?( ) A. Python语言有两种注释方式&…...

大数据未来会如何发展

大数据应用的重要性,自全国提出“数据中国”的概念以来,我们周围默默地在发挥作用的大数据逐渐深入人们的心中,大数据的应用也越来越广泛,具体到金融、汽车、餐饮、电信、能源、体育和娱乐等领域 为什么大数据技术那么火&#xf…...

2022黑马Redis跟学笔记.基础篇(一)

2022黑马Redis跟学笔记.基础篇 一1.Redis入门1.1.认识NoSQL1.1.1.结构化与非结构化1.1.2.关联和非关联1.1.3.查询方式1.1.4.事务1.1.5.总结1.2.认识Redis1.3.安装Redis步骤一:安装Redis依赖步骤二:上传安装包并解压步骤三:启动(1).默认启动(2…...

【Spring(十一)】万字带你深入学习面向切面编程AOP

文章目录前言AOP简介AOP入门案例AOP工作流程AOP切入点表达式AOP通知类型AOP通知获取数据总结前言 今天我们来学习AOP,在最初我们学习Spring时说过Spring的两大特征,一个是IOC,一个是AOP,我们现在要学习的就是这个AOP。 AOP简介 AOP:面向切面编程,一种编程范式&#…...

基于Java+SpringBoot+Vue+uniapp前后端分离图书阅读系统设计与实现

博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建、毕业项目实战、项目定制✌ 博主作品:《微服务实战》专栏是本人的实战经验总结,《S…...

2021年新公开工业控制系统严重漏洞汇总

声明 本文是学习ITOT一体化工业信息安全态势报告(2019). 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 工业互联网安全威胁 2021年新公开工业控制系统严重漏洞 缓冲区溢出漏洞 缓冲区溢出(buffer overflow&…...

Canvas鼠标滚轮缩放以及画布拖动(图文并茂版)

Canvas鼠标滚轮缩放以及画布拖动 本文会带大家认识Canvas中常用的坐标变换方法 translate 和 scale,并结合这两个方法,实现鼠标滚轮缩放以及画布拖动功能。 Canvas的坐标变换 Canvas 绘图的缩放以及画布拖动主要通过 CanvasRenderingContext2D 提供的 …...

[ECCV 2020] FGVC via progressive multi-granularity training of jigsaw patches

Contents IntroductionProgressive Multi-Granularity (PMG) training frameworkExperimentsReferencesIntroduction 不同于显式地寻找特征显著区域并抽取其特征,作者充分利用了 CNN 不同 stage 输出的特征图的语义粒度信息,并使用 Jigsaw Puzzle Generator 进行数据增强来帮…...

Python推导式

列表&#xff08;list&#xff09;推导式 [remove for source in xx_list]或者[remove for source in xx_list if condition] 实例&#xff1a; names[Bob,Mark,Mausk,Johndan,Wendy] new_names[name.upper() for name in names if len(name)<5] print(new_names)即迭代列…...

Java列表List的定查改增删操作

Java列表List的定查改增删操作定义查找遍历元素与下标互查修改增加删除java.util中提供了三种常用的集合类&#xff0c;列表List、集合Map和字典Set。这些集合类相较于数组有更多功能&#xff0c;并且都可以通过Iterator&#xff08;迭代器&#xff09;来访问。 在这篇博客中&…...

day03java语言特性 JDK、JRE、JVM

1、Java语言的特性 1.1、简单性在Java语言当中真正操作内存的是&#xff1a;JVM&#xff08;Java虚拟机&#xff09;所有的java程序都是运行在Java虚拟机当中的。而Java虚拟机执行过程中再去操作内存。对于C或者C来说程序员都是可以直接通过指针操作内存的。C或者C更灵活&…...

HydroD 实用教程(二)有限元模型

目 录一、前言二、模型种类三、单元类型四、FEM文件五、参考文献一、前言 SESAM &#xff08;Super Element Structure Analysis Module&#xff09;是由挪威船级社&#xff08;DNV-GL&#xff09;开发的一款有限元分析&#xff08;FEA&#xff09;系统&#xff0c;它以 GeniE、…...

Java中的Set集合

Set不能存储重复元素&#xff0c;元素无序&#xff08;指的是不按照添加的顺序&#xff0c;List集合是按照添加顺序存储的&#xff09;hashSet注&#xff1a;源码底层是hashMap实现的&#xff0c;因为hashMap是双列的&#xff0c;其中键是不能重复的&#xff0c;而hashSet是单列…...

【RabbitMQ五】——RabbitMQ路由模式(Routing)

RabbitMQ路由模式前言RabbitMQ模式的基本概念为什么要使用Rabbitmq 路由模式RabbitMQ路由模式组成元素路由模式完整代码Pom文件引入RabbtiMQ依赖RabbitMQ工具类生产者消费者1消费者2运行结果截图前言 通过本篇博客能够简单使用RabbitMQ的路由模式。 本篇博客主要是博主通过官网…...

【C语言】宏定义 结构体 枚举变量的用法

目录 一、数据类型 二、C语言宏定义 三、C语言typedef重命名 四、 #define与typedef的区别 五、结构体 六、枚举变量 补充学习一点STM32的必备基础知识 一、数据类型 二、C语言宏定义 关键字&#xff1a;#define 用途&#xff1a;用一个字符串代替一个数字&#xff0c;…...

锁升级之Synchronized

Synchronized JVM系统锁一个对象里如果有多个synchronized方法&#xff0c;同一时刻&#xff0c;只要有一个线程去调用其中的一个synchronized方法&#xff0c;其他线程只能等待&#xff01;锁的是当前对象&#xff0c;对象被锁定后&#xff0c;其他线程都不能访问当前对象的其…...

基于nodejs+vue疫情网课管理系统

疫情网课也都将通过计算机进行整体智能化操作,对于疫情网课管理系统所牵扯的管理及数据保存都是非常多的,例如管理员&#xff1a;首页、个人中心、学生管理、教师管理、班级管理、课程分类管理、课程表管理、课程信息管理、作业信息管理、请假信息管理、上课签到管理、论坛交流…...

Zabbix 构建监控告警平台(三)

Zabbix User parametersZabbix Trigger1.Zabbix User parameters 1.1即自定义KEY 注意&#xff1a;mysql安装在被监测主机 [rootlocalhost ~]# yum -y install mariadb-server mariadb [rootlocalhost ~]# systemctl start mariadb [rootlocalhost ~]# mysqladmin -uroot statu…...

Linux系统之dool命令行工具的基本使用

Linux系统之dool命令行工具的基本使用一、dool命令行工具介绍二、本地系统环境检查1.检查系统版本2.检查系统内核版本三、下载dool软件包1.创建下载目录2.下载dool四、安装dool1.安装python32.安装dool五、dool的命令帮助六、dool的基本使用1.直接使用dool监控系统2.监控cpu和网…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...