git rebase merge区别

2021-07-06  本文已影响0人  wanggs

merge rebase

merge 和 rebase都是用来合并分支的

分支

分支:协调的时候提高开发效率。不同的功能不同的分支,互不影响。开发完后都合并到develop提测

合并

每个人开发好后,把各自的代码放到一起叫合并

冲突

合并的时候,不同的分支修改相同的位置。

“<<<<<<<” 表示冲突代码开始

“=======” 表示2个分支冲突代码分隔符

“>>>>>>>" 表示冲突代码的结束

merge 和 rebase的区别

  1. rabase会把你要合并的�分支放到当前分支的后面,叫变基

例如:你从master分支拉一个feature分支,然后commit了几次,这个时候你同事也从master分支来一个功能分支,开发完成合并到master分支了。这个时候你用rebase master合并到master分支上,就会把你提交的记录放到,你同事的提交记录后面

merge 会把公共的分支和你当前的commit合并到一起,形成一个新的commit提交

image.png
  1. merge不会保留merger分支的commit的提交记录
image.png

注意

为什么不要再公共分支使用rebase?

因为往后放的这些 commit 都是新的,这样其他从这个公共分支拉出去的人,都需要再 rebase,相当于你 rebase 东西进来,就都是新的 commit 了

常用指令

git rebase -I dev 可以将dev分支合并到当前分支
这里的”-i“是指交互模式。就是说你可以干预rebase这个事务的过程,包括设置commit message,暂停commit等等。

git rebase –abort 放弃一次合并

合并多次commit操作:
1 git rebase -i dev
2 修改最后几次commit记录中的pick 为squash
3 保存退出,弹出修改文件,修改commit记录再次保存退出(删除多余的change-id 只保留一个)
4 git add .
5 git rebase --continue

git 分支命名规范

上一篇下一篇

猜你喜欢

热点阅读