为什么会说这两个呢,是因为我觉得这两个命令有一些共同点,而且git merge 常用,git rebase 不常用,放在一起说的时候,可以更方便了解记忆git rebase。
git merge
git merge
是合并分支时用的命令。
一个功能在分支上开发完成后会使用 merge
合并到主干中。
下面是经常出现的合并分支场景。
$ git checkout master
$ git pull
$ git merge branch1(开发的功能分支)
tips:
1,merge
的时候会生成一个新的 commit
提交到目标分支上
2,merge
的时候是先切分支到目标分支上,然后把待合并的分支合并到当前分支(也就是目标分支)
git rebase
git rebase
在合并分支时是不常用的,经常用在删除和修改已提交的commit
删除和修改已提交的commit
之前的文章已经介绍,可以看这里git 修改倒数二个提交
这里介绍下git rebase
怎么用来合并分支
$ git checkout branch1(开发的功能分支)
$ git rebase master
$ git checkout master
$ git merge branch1
看上面的操作命令,可以看出来通过git rebase
来合并分支,复杂程度比直接使用git merge
要复杂一些。这样使用的好处是,master
中的历史记录不会出现分叉
tips:
1, rebase
是将分支的commit
出现再提交一次生成一个新的commit
2, rebase
的时候先切换到分支上,然后使用git rebase
到需要合并到到目标分支上
3, rebase
之后还需要再切换到目标分支使用一次merge
,可以将master
移动到最后的一次commit
END!
网友评论