主要靠一张图:
区别
git merge
git checkout feature
git merge master
此时在feature上git会自动产生一个新的commit
- 修改的是当前分支 feature。
git rebase
git checkout feature
git rebase master(在feature分支上执行,修改的是master分支) #在另外一个分支(指定的master)上重新应用当前分支(feature)上的新提交。
它会把你整个feature分枝移动到master分支后面,有效的把所有master分支新的提交并入过来
- 修改的是指定的分支 master,而不是当前分支 feature。
- 会产生新的提交,改变提交历史(hash修改了)。