代碼合並一般分兩種情況rebase與merge
說明:如果div是從master創建出來的分支,那么,master就是dev的上游,dev是在master的下游。
下游合並上游的代碼:要盡可能的保存提交路徑簡潔,那么用rebase
上游合並下游的代碼:要盡可能的保存提交細節,那么采用merge
dev分支下:master已經有修改了,dev本身也做了提交,需要更新master代碼才能做dev
下游合並上游,用rebase
git rebase master
dev分支下,需要合並到master上
上游合並下游,用merge
git checkout master git merge dev
回退到merge前的代碼狀態
# 查出要回退到merge前的版本號 git reflog # 回退到merge前的代碼狀態 git reset --hard # 回退到merge前的某個代碼狀態 git reset --hard f123456
merge使用問題
# 擋在Dev分支上使用merge的時候 $ git merge dev fatal: refusing to merge unrelated histories # 出現上述問題的時候 $ git merge master --allow-unrelated-histories # 在進行add、commit $ git add . $ git commit -m 'first'