如何提取代码(错误地运行推送和删除命令后)

时间:2015-08-05 18:44:02

标签: xcode git github

我是Git的新手。我错误地使用Xcode源代码控制的push命令将我的代码上传到GitHub存储库。然后我问了一个问题,我怎么能删除主人的内容,因为我认为删除文件足以重新开始。 (注意:我无法删除存储库并创建一个新存储库)因此我使用push命令删除了存储库中的每个文件,并且存储库现在为空。当我这次尝试拉出本地工作副本时,我的本地工作副本被删除了。

有谁知道如何提取我的代码?

1 个答案:

答案 0 :(得分:2)

有两种方法可以解决此问题。

  1. 重写你的历史并将重写推向掌握(不推荐,因为它会搞砸其他人的历史,但如果看起来你从未犯过错误就有好处)。
  2. 创建一个新的提交,恢复您的更改并推送此新提交。这会将您的旧代码保留在存储库中,但会将其从后续版本中删除。它还有一个额外的好处,就是不要搞砸其他人的历史。
  3. 要完成#1,只需运行git log并找到提交ID号,然后运行git reset NUMBER将树恢复到工作状态。然后使用git push RemoteName BranchName --force

    推送您的更改

    正如我所提到的,我强烈建议不要这样做,除非您对错误有一些重大隐私问题。处理问题的一个更好的方法是运行git revert CommitID来创建一个“撤消”之前错误的新提交。查看this Atlassian blurb了解如何做到这一点。