merge和rebase
标题上的两个命令:merge和rebase都是用来合并分支的。
这里不解释rebase命令,以及两个命令的原理,详细解释参考这里。
下面的内容主要说的是两者在实际操作中的区别。
什么是分支
分支就是便于多人在同一项目中的协作开发。比方说:每个人开发不同的功能,在各自的分支开发过程中互不影响,完成后都提交到develop分支。极大的提高了开发的效率。
合并分支
每个人创建一个分支进行开发,当开发完成,需要合并到develop分支的时候,就需要用到合并的命令。
什么是冲突
合并的时候,有可能会产生冲突。
冲突的产生是因为在合并的时候,不同分支修改了相同的位置。所以在合并的时候git不知道那个到底是你想保留的,所以就提出疑问(冲突提醒)让你自己手动选择想要保留的内容,从而解决冲突。
merge和rebase的区别
1.采用merge和rebase后,git log的区别,merge命令不会保留merge的分支的commit:
2.处理冲突的方式:
(一股脑)使用merge命令合并分支,解决完冲突,执行git add .和git commit -m'fix conflict'。这个时候会产生一个commit。
(交互式)使用rebase命令合并分支,解决完冲突,执行git add .和git rebase --continue,不会产生额外的commit。这样的好处是,‘干净’,分支上不会有无意义的解决分支的commit;坏处,如果合并的分支中存在多个commit,需要重复处理多次冲突。
3.git pull和git pull --rebase区别:git pull做了两个操作分别是‘获取’和合并。所以加了rebase就是以rebase的方式进行合并分支,默认为merge。
推荐教程: 《Git教程》
Atas ialah kandungan terperinci git rebase 和 merge 有什么区别?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!