git rebase 和git merge

 四git fetch -a (拉最新代码)

1. git fetch -a是为了将远端最新的更新拉取到本地代码仓库,因为git是分布式的,我们做的git所有操作都是在自己本地,因此在rebase之前本地需要知道远端最新的一批更新
2. 在本地某一个开发分支上进行git fetch -a操作时,本地的其他开发分支都会感受到远端主分支的最新更新,当切换分支的时候就不需要再进行git fetch -a操作,可以直接进行git rebase origin/develop
 

当执行 git fetch命令时,它会执行以下操作:

  1. 检查远程仓库是否有新的提交或分支。
  2. 获取远程仓库的最新提交历史,但不会应用到当前工作目录中。
  3. 更新本地仓库的远程分支指针,指向远程仓库的最新提交。

通过执行 git fetch命令,你可以获取远程仓库的最新状态,并查看分支的更新情况,以便进行后续操作,如合并、比较或重新基于最新的提交进行开发。

需要注意的是,git fetch不会自动合并或修改你的本地代码。如果需要将远程分支的更改应用到本地分支,你可以使用 git merge或 git rebase命令来完成合并操作。

所以: 合并完之后,如果本地分支还没有变化,可以使用git fetch -a 更新代码

五 git rebase

先到自己的分支,然后rebase

5.1git rebase 和 git merge 有啥区别?

rebase会把你当前分支的 commit 放到公共分支的最后面,所以叫变基。就好像你从公共分支又重新拉出来这个分支一样。
举例:如果你从 master 拉了个feature分支出来,然后你提交了几个 commit,这个时候刚好有人把他开发的东西合并到 master 了,这个时候 master 就比你拉分支的时候多了几个 commit,如果这个时候你 rebase master 的话,就会把你当前的几个 commit,放到那个人 commit 的后面。

merge 会把公共分支和你当前的commit 合并在一起,形成一个新的 commit 提交

5.2merge和rebase实际上只是用的场景不一样


更通俗的解释一波.
比如rebase,你自己开发分支一直在做,然后某一天,你想把主线的修改合到你的分支上,做一次集成,这种情况就用rebase比较好.把你的提交都放在主线修改的头上
如果用merge,脑袋上顶着一笔merge的8,你如果想回退你分支上的某个提交就很麻烦,还有一个重要的问题,rebase的话,本来我的分支是从3拉出来的,rebase完了之后,就不知道我当时是从哪儿拉出来的我的开发分支
同样的,如果你在主分支上用rebase, rebase其他分支的修改,是不是要是别人想看主分支上有什么历史,他看到的就不是完整的历史课,这个历史已经被你篡改

git rebase 还是 merge的使用场景最通俗的解释 - 简书

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值