Git:撤消推送提交,其中新用户意外删除了所有文件

时间:2013-01-17 19:15:50

标签: git

我们添加了一个新用户,他做了一个put pull并错误地认为它是成功的。

然后他们进行了git推送,但由于他们没有文件,他们删除了整个项目中的所有文件。

现在,我们需要撤消所发生的事情,并在删除所有内容之前将项目回滚到提交。

2 个答案:

答案 0 :(得分:6)

  • 将最新版本提取到本地存储库
  • 执行git revert HEAD
  • 推送新提交

git revert创建一个新的提交,它可以恢复指定提交引入的所有更改。

有关更多信息和背景信息,请参阅this blog post

答案 1 :(得分:1)

您应首先检查主存储库发生了什么。整个分支是删除的(需要强制推送)还是新用户只是引入了一个删除所有文件的新提交。

如果删除了分支,请将其从其他开发人员存储库中推回。

如果新用户只是通过一次提交删除了所有内容,请转到主存储库并执行

git reset --hard HEAD^

摆脱违规提交。我会建议反对git revert,除非很多人已将错误归入他们的存储库。如果您还原,您将在历史记录中记录此错误。如果您重置,则没有任何迹象表明这种情况发生过。但只有在错误的提交还没有扩散的情况下重置!