【问题标题】:How to remove Git local commit after interrupting while uploading the commit如何在上传提交时中断后删除 Git 本地提交
【发布时间】:2013-10-23 14:54:52
【问题描述】:

我不小心在 git update (git add wrongfile) 中添加了错误。我提交了这个更改并开始推送到 git 服务器 (git push origin master)。但后来我意识到我提交了一个错误的文件(错误的文件大小超过 200MB XML 文件),在那里我中断了上传。我删除了该文件并将其从 git 更改中删除 (git rm wrongfile)。但现在终端说:

您的分支在 'origin/master' 之前 1 个提交。 (使用“git push”发布你的本地提交)

有人知道如何解决这个问题吗?我使用了git reset --hard HEAD,但它没有用。 (如果出现任何问题,我已经备份了我的文件。)

【问题讨论】:

  • 执行git status时会发生什么,为什么git reset --hard HEAD不起作用?你得到哪个错误?
  • 由于我已经提交了之前的所有更改,它只显示了已删除的更改。但是当我再次使用“push origin master”时,它会从我中断上传的地方恢复。

标签: git


【解决方案1】:

您看到的消息(您的分支领先 1 个提交)意味着您的本地存储库有一个尚未推送的提交。

看到这个帖子:git - Your branch is ahead of 'origin/master' by 1 commit

如果你已经提交了垃圾但没有推送,

git reset --soft HEAD~1 HEAD~1 是 head 之前提交的简写。或者,您可以参考要重置的哈希值的 SHA-1。 --soft 选项将删除提交,但它会将所有更改的文件保留为“要提交的更改”,就像 git status 所说的那样。

如果您想摆脱自 head 之前的提交以来对工作树中跟踪文件的任何更改,请改用 --hard。 现在,如果你已经推了有人拉了,这通常是我的情况,你不能使用 git reset。但是,您可以执行 git revert,

git 恢复 HEAD 这将创建一个新的提交,它会反转由意外提交引入的所有内容。

(引自http://nakkaya.com/2009/09/24/git-delete-last-commit/

【讨论】:

  • 这个命令“git reset --soft HEAD~1”对我有用。非常感谢:)
  • 有一个问题:(。在该命令之后,我通过所有未提交的更改重置到正确的头部(git状态显示所有更改)但是当我再次添加这些更改并使用“git push origin master" 然后它再次从我中断上传时恢复。无论如何我将项目克隆到另一个文件夹并将我当前的工作项目文件夹放入其中并从该文件夹推送它。它工作了
【解决方案2】:

没有任何问题。提交仍然存在于本地,这就是消息告诉你的全部内容(使用git fetch ; git log origin/master..master 验证)。您可以通过运行在本地撤消提交

git reset head~

这不会更改本地的任何文件(这是“软”重置)。

如果您的工作树中没有任何修改过的文件,git reset --hard head 将无效。

【讨论】:

    【解决方案3】:

    您尝试过:git reset --soft HEAD^ 吗?或者您可以:git reset --soft [commit_hash] 重置您的错误提交。在此之后,您可以删除那些不必要的文件并再次提交,然后推送它。

    【讨论】:

    • “push origin master”命令没有完成(因为我在中间打断了)。所以我不知道如何获得 [commit_hash] :/
    【解决方案4】:

    我将项目克隆到另一个文件夹,并将我当前工作的项目文件夹放入其中,并将更改从该文件夹中推送。最后删除了乱七八糟的项目目录并移动到新克隆的目录。这是一个最糟糕的解决方案,但我这样做是因为我不知道从终端解决它的正确命令。 #timeSaver #atthismoment

    【讨论】:

      猜你喜欢
      • 2012-04-06
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      • 2015-06-03
      • 2016-12-05
      • 2017-07-09
      • 2011-09-03
      相关资源
      最近更新 更多