当你执行 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