【Git】git merge 和 git rebase区别

git rebase

  • 原理:先提取当前分支从切换分支到最新提交上的所有更改,将dev分支应用到最新的分支上,并且删除分支的提交内容
  • 实现过程:
  1. 初始状态如下所示,两个分支一个master,一个develop,此时HEAD在(6.added hello.txt file)处,现在执行git rebase develop
  2. git rebase之前
    在这里插入图片描述
  3. git rebase之后
    在这里插入图片描述
  4. 总结:将新建分支的内容合并到master最新提交之后,并且应用,删除分支的所有提交内容。

git merge

  • 原理:合并两个分支并生成一个新的提交
  • 实现过程:
  1. 假设现在git的HEAD在 6.added hello.txt file 处,master分支最新的提交处,此时执行 git merge develop ,结果如下:
    在这里插入图片描述
  2. 合并过程:git会自动找到从master分支新建dev分支的节点(切分支的共同起点),此时merge,git会识别master和dev分支上最新的提交,并且识别的更改的内容,形成一个新的提交,为 7.Merge branch ‘develop’
  3. 总结:merge是识别请求合并的分支和主分支共同的起点和终点的所有更改,生成一个新的提交

猜你喜欢

转载自blog.csdn.net/m0_46537958/article/details/108383713