fast-forward
fast forward能夠保證不會強制覆蓋別人的代碼,確保了多人協同開發。儘量不要使用no fast forward方法提交代碼。合併代碼的分之的時候可以使用-no-ff,可以看到分支的詳細走向。
rebase
rebase和merge區別就是:merge會按照時間順序來合併commit樹,而rebase 會將新分支的commit直接放在本分支的後面。
例如:
此時切換到了dev分支,獲取到了最新代碼
切換到feature/rqt-detail分支,之前在我在這個工作的時候,有人向dev分支提交了代碼
rebase dev分支的代碼
使用git log命令查看commit歷史們可以看到commit並不是按照時間排序。我在feature分支的修改放在了後面