git merge 和 git rebase的区别
git merge
示例:将master分支合并到feature分支
- git checkout feature
- git merge master
git rebase
示例:将master分支rebase到feature分支
- git checkout feature
- 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'
依此类推...