【问题标题】:Git delete without tracesgit删除不留痕迹
【发布时间】:2016-04-27 00:26:57
【问题描述】:

我是 Git 新手,刚刚阅读 Bitbucket 教程。

我对 .txt 文件做了一些错误的提交。 如何删除我在 Bitbucket 上所做的任何未来提交和评论?

首先我做到了

git reset --hard <commit_ID>

然后

git reset --hard HEAD~1

几次

git status

您的分支在 'origin/master' 之后 4 次提交,并且可以快进。

我该怎么办?

【问题讨论】:

  • 要将这些更改推送到上游,您可以使用git push -f 强制推送。如果有其他人可能正在使用您的项目,请改用git reset

标签: git


【解决方案1】:

git reset --hard HEAD~x 将从HEAD 所在的当前提交中删除最后的x 提交(基本上是本地仓库的当前状态)。 Your branch is behind 'origin/master' by 4 commits, and can be fast-forwarded. 表示在您的“git 服务器”(原始远程)或存储远程数据的任何位置(例如 GitHub)上有 4 次提交。使用 reset 删除本地提交只会将它们从您的计算机中删除,而不是从服务器中删除。如果您想在任何地方删除它们并用您本地的状态替换服务器的状态,您可以运行git push -f,它会强制推送并用您的本地数据覆盖服务器数据。

【讨论】:

    【解决方案2】:

    您已将本地分支重置了 4 次,但您的源站/主站具有之前的最后一个状态。要覆盖它们,您必须使用 git push -f 强制将本地更改推送到远程分支并强制它们返回您的状态。

    当你用力推动某物时,其他人在推动时可能会遇到麻烦。

    【讨论】:

      猜你喜欢
      • 2011-01-31
      • 1970-01-01
      • 2021-01-04
      • 2011-09-09
      • 1970-01-01
      • 1970-01-01
      • 2013-09-07
      • 1970-01-01
      • 2011-09-22
      相关资源
      最近更新 更多