合并代码还在用git merge吗?我们都用git rebase!
Posted xhmj12
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了合并代码还在用git merge吗?我们都用git rebase!相关的知识,希望对你有一定的参考价值。
相关阅读:2T架构师学习资料干货分享
作者:Will_Liao
来源:juejin.cn/post/7001409038307033119
目的都是将一个分支的commit合并到到另外一个分支中去
git merge
1.在gitlab上新建一个项目,push一个test文件上去
2.在本地修改test文件做两次commit,每次commit都在文件中加一句修改
3.在远程仓库中直接修改文件并commit,模拟其他开发者的commit
4.如果此时我push本地的提交到远程,就会被拒绝,因为远程和本地已经各自有commit了,我们常规的做法是git pull一下,在本地解决冲突,然后继续push,本质上git pull = git fetch + git merge
产生冲突:
处理冲突:
重新走add commit 然后push,可以看到必须将合并当作一个新的commit:
git rebase
如果我们此时采用git pull --rebase,也就是=git fetch + git rebase
1.一样本地commit2次,远程commit2次
2.使用可以看到git pull --rebase,还是会提示我们去处理冲突,但是从git log 上可以看出明显已经发生了rebase,也就是变基,本地分支基于了远程的最新commit,而不是上次的本地commit,另外搜索公众号互联网架构师后台回复“2T”,获取一份惊喜礼包。
4.push到远程之后,在分支图可以明显看到,跟merge的区别在于,rebase不会产生分支,并且也不会产生新的提交
总结
merge 是一个合并操作,会将两个分支的修改合并在一起,默认操作的情况下会提交合并中修改的内容。
merge 的提交历史记录了实际发生过什么,关注点在真实的提交历史上面。
rebase 操作会丢弃当前分支已提交的 commit,故不要在已经 push 到远程,和其他人正在协作开发的分支上执行 rebase 操作。
merge 与 rebase 都是很好的分支合并命令,没有好坏之分,使用哪一个应由团队的实际开发需求及场景决定。
如果比较关注commit时间的话,还是用git merge,rebase会打乱时间线是不可避免的。
2、心态崩了!税前2万4,到手1万4,年终奖扣税方式1月1日起施行~
以上是关于合并代码还在用git merge吗?我们都用git rebase!的主要内容,如果未能解决你的问题,请参考以下文章
合并代码还在用 git merge?我们都用 git rebase