首页 > 解决方案 > 之前的所有提交日志都被删除了。我可以拿回来吗?

问题描述

除了一个提交之外的所有先前的承诺都是由另一个团队成员通过强制推送来初始化的,即使出现了“数据可能丢失”的短语。

git 日志上只有一个提交(最后一个)。我不能回到团队成员犯错之前吗?

我不认为它会起作用,但我试过git reset --HEAD^了,我得到了

致命:模棱两可的参数“HEAD^”:未知的修订版或路径不在工作树中。使用 '--' 将路径与修订分开,如下所示:'git [...] -- [...]'

标签: git

解决方案


在强制推送之后,其他团队成员不可能简单地完成git pull,所以有人可能仍然拥有该分支的最新副本。只需将其强制推送到服务器即可。

如果每个人都已经以某种方式拉出了损坏的分支,您仍然可以通过 using 获取原始的哈希git reflog(直到git gc触发 a )。获取应该成为新的提交的哈希HEAD,然后执行:

git reset --hard <name of branch> <hash of desired commit>

然后去配置你的 git 服务器以禁止强制推送;)


推荐阅读