當你執行 git pull origin develop
(或默認的 git pull
)時,Git 會把遠端 origin/develop
的提交合并到你本地的 develop
,如果遠端已經丟掉(或從未包含)你之前在私庫(priv
)里提交過的改動,那這些改動就會被「覆蓋」,看起來就像「本地修改沒了」。
要解決這個問題,分兩步走:
1. 找回丟失的提交(如果你之前真的在本地有提交過)
-
用
git reflog
找到合并之前的那次本地 HEAD:git reflog
假設你在 pull 之前的那條記錄是:
abc1234 HEAD@{2}: checkout: moving from ... to develop