Local的commit 與 Remote 的commit 沒有同步
如圖中所示,會發現 github remote 的 main
跟 local 的 main
分岔了。
這是因為在先前在B電腦做了一次 commit & push,也就是圖中岔出去的那個 Remote main,
然而在A電腦的commit還停留在B電腦commit的前一個版本,但是我沒發現就繼續開發下去,
一路開發下去,直到要push到遠端時才被告知遠端有code沒有同步到。
查了一下,查到git fetch origin main 似乎是比較安全的,他可以單純把遠端你所有缺少的code抓下來,然後你再透過git status查詢時,git 會告知你 local 的 code 與遠端的 code 差異在哪,然後再透過git merge origin main
或是 git rebase origin main
。
但要注意,當前如果有code還尚未commit,git會告知你要先commit,並且不會讓你merge,應該是怕你的 code 丟失,若還沒要 commit 可以透過git stage
把 code 存起來以防止不見。
指令
1 | git fetch origin main |
1 | git fetch origin main |
--- 到底拉 The End ---