git rebase同步分支的最新改动

场景

基于临时分支开发的场景,假设临时分支是基于master创建的,在临时分支上开发完后,由于别的同事有提交合并到了master分支,此时master分支的提交记录已经领先于临时分支,于是需要将master分支领先的提交记录合并到临时分支,再做后续操作。

为什么?

以上场景,可以用merge进行解决,将master分支的改动merge到临时分支。

git checkout <临时分支>

git merge master

执行git log就会看到记录里有merge 的信息,这样其实污染了 commit 记录,想要一份干净的 commit记录,这时候,git rebase 就可以解决。

怎么用?

git checkout master

git pull

git checkout <临时分支>

git rebase master

冲突的解决

使用rebase合并分支时,也会出现conflict,这时,git 会停止 rebase 让你去解决冲突。

解决完冲突后,用 git add 命令去添加这些内容。

最后执行git rebase --continue,这样rebase 会继续合并余下的改动。

或者冲突后,想放弃这次rebase操作,可以通过--abort回到开始前状态:

git rebase --abort

撤销rebase操作

执行git reflog

找到rebase开始前的哈希码:

HEAD@{x}: rebase(start)这个节点的前一个哈希码,就是我们要的哈希码。

HEAD@{x+1}: 这个节点就是我们要的哈希码。

执行:

git reset --hard <rebase开始前的哈希码>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值