Andy的前後端技術筆記、生活紀錄
git local 及 remote repo 不同步怎麼處理
發佈於: 2024-01-28 更新於: 2024-04-21 分類於: frontend

Local的commit 與 Remote 的commit 沒有同步

git
如圖中所示,會發現 github remote 的 mainlocal 的 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
2
git fetch origin main 
git merge origin/main
1
2
git fetch origin main 
git rebase origin/main
--- 到底拉 The End ---