码小辫

专注更多编程视频和电子书

天天在用钱

来源 |juejin.cn/post/7001409038307033119

作者| Will_Liao

01、git merge 和 git rebase的区别

目的都是将一个分支的commit合并到到另外一个分支中去

02、git merge

在gitlab上新建一个项目,push一个test文件上去

git merge 合并分支_git分支合并_git合并两个差异分支

2.在本地修改test文件做两次commit,每次commit都在文件中加一句修改

git merge 合并分支_git合并两个差异分支_git分支合并

3.在远程仓库中直接修改文件并commit,模拟其他开发者的commit

git分支合并_git合并两个差异分支_git merge 合并分支

4.如果此时我push本地的提交到远程,就会被拒绝,因为远程和本地已经各自有commit了,我们常规的做法是git pull一下,在本地解决冲突,然后继续push,本质上git pull = git fetch + git merge

产生冲突:

git合并两个差异分支_git merge 合并分支_git分支合并

处理冲突:

git合并两个差异分支_git分支合并_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不会产生分支,并且也不会产生新的提交

git合并两个差异分支_git merge 合并分支_git分支合并

———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注