码小辫
专注更多编程视频和电子书
天天在用钱
来源 |juejin.cn/post/7001409038307033119
作者| Will_Liao
01、git merge 和 git rebase的区别
02、git merge
在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:
03、git rebase
如果我们此时采用git pull –rebase,也就是=git fetch + git rebase
一样本地commit2次,远程commit2次
使用可以看到git pull –rebase,还是会提示我们去处理冲突,但是从git log 上可以看出明显已经发生了rebase,也就是变基,本地分支基于了远程的最新commit,而不是上次的本地commit
处理冲突,每处理完一次本地commit冲突,用git add标记冲突已处理完,用git rebase –continue继续处理下一个本地commit,也可以先用git rebase -i将本地的commit合并为一个commit,这样git pull –rebase就能一次处理所有的冲突
push到远程之后,在分支图可以明显看到git分支合并git分支合并,跟merge的区别在于,rebase不会产生分支,并且也不会产生新的提交
———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99声明:本站内容转载于网络,版权归原作者所有,仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。本站仅保存近一年的最新资源,过期资源将不在保留。若本站内容侵犯了原著者的合法权益,可联系我们进行处理。本站仅作项目分享,不提供任何收益保障,风险自辩,不对操作项目的收益及损失负责.站长不是项目作者,不负责项目解答