close
通常問題是發生在本機端有做更動,遠端的 repository 也有其他人更動過,但是 code 的變動是屬於對立情形,git 無法自動 merge 成功,導致做 git pull 會出現 conflict。
依序指令下 git stash (會先將本機更動的檔案暫存)
git pull (會將 repo 程式碼拉回來並做 merge,其實 pull 指令本來就是 fetch + merge)
git stash apply (將暫存的 code 與現在 pull 後的 code 做 merge)
到此會分兩種情形,一種是 apply 成功,那就直接推上去
git commit
git push
另一種是 apply 後會發生 conflict ,這時候就要開啟編輯器,去看有 conflict 的程式碼,手動解決衝突(你會發現程式碼內有標明衝突區段),解完推上去,然後繼續拉 repo 程式碼
git commit
git push
git pull
如果 pull 之後又有 conflict ,就繼續手動解決衝突,然後 push ,反覆此行為直到你 pull 為 up-to-date 的狀態。
全站熱搜