Git之merge、rebase、revert、reset的使用

Git快速入门

Git快速学习

https://github.com/pcottle/learnGitBranching

Git详解

命令图解

在这里插入图片描述

checkout(switch):操作HEAD

理解main、bugFix: 分支的引用,一般指向分支末尾。
理解HEAD: HEAD是当前修改的基础!它可以指向main、bugFix等分支引用,也可以直接指向特定commit。
chechout(switch) main:将HEAD指向main;
chechout(switch) C4:将HEAD指向commit C4。
在这里插入图片描述

reset:回退到指定版本【操作远程仓库】

  • 重置到指定版本
    在这里插入图片描述
$ git reset --参数 HEAD^
  • 回退到指定版本
git  reset --参数 0s52easdfadfafdasdgg

参数

  • soft – 暂存区和工作目录都不会被改变
  • mixed(默认) – 暂存区会回退,但工作目录不受影响
  • hard – 暂存区和工作目录都会回退

注意:回退会将回退部分的commit丢失

在这里插入图片描述

merge:等同于一次commit(E)

git checkout feature  //切换当前分支为feature
git merge master

冲突判断规则:以两个分支最近的共同祖先commit(B)为起点,两个分支对同一个文件修改则会发生冲突。
在这里插入图片描述

注意选用:Squash commits when merge request is accepted 压缩commit后合并,不然C、D也会被commit到master分支中。

rebase:变基:改变当前分支的起点

git checout feature
git rebase master

在这里插入图片描述

在这里插入图片描述

注意:master分支HEAD指针还是指向M

将master的HEAD合并feature的HEAD

git checkout master
git merge feature

然后master的HEAD指针才会指向D'

revert:撤销某次commit

撤销操作会作为一次commit
在这里插入图片描述

git revert -n 8b89621019c9adc6fc4d242cd41daeb13aeb9861
git commit -m "revert add text.txt" 
git push  / push到远程仓库

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值