git merge 和 git rebase的区别

git merge

示例:将master分支合并到feature分支

  1. git checkout feature
  2. git merge master

git rebase

示例:将master分支rebase到feature分支

  1. git checkout feature
  2. git rebase master
    注意:此时 rebase前 feature tx 与 rebase后的 feature tx 的hash值不一致
    使用rebase合并参考:https://www.cnblogs.com/rainbow-tan/p/15312981.html

git pull

git pull --rebase

git rebase 解决冲突

1. feature t3 与 master t8 比较,解决为 feature t3'
2. feature t5 与 feature t3' 比较,解决为 feature t5'
3. feature t7 与 feature t5' 比较,解决为 feature t7'

master,feature分支均已push
① git rebase master
1. feature t3 与 master t8 比较,解决冲突后为feature t3'
2. feature t5 与 feature t3' 比较,解决冲突后为feature t5'
3. feature t7 与 feature t5' 比较,解决冲突后为feature t7'
② git push
1. master t4 与远程feature t7比较,解决冲突为master t4'
2. master t6 与master t4'比较,解决冲突为master t6'
依此类推...

posted @ 2023-03-05 02:12  扬帆去远航  阅读(30)  评论(0编辑  收藏  举报