主要靠一張圖:
區別
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修改了)。