【问题标题】:How to remove a Mercurial commit that has been pushed?如何删除已推送的 Mercurial 提交?
【发布时间】:2018-12-24 01:43:16
【问题描述】:

我有一个位于 bitbucket 存储库中的系统,我使用 Mercurial 上传了它。

几天前我在上传一个我不应该碰的文件时遇到了问题。现在我想知道是否有一个命令选项可以删除我所做的提交。

当然我试过hg log -l 5 然后hg strip 'id commit',但我不想回到前一点,如果不删除提交。更准确地说,是最后一个。

专家须知!:请记住我已经将我的提交推送到 bitbucket

【问题讨论】:

  • 我假设“上传”是指您推送了更改。
  • 对了,我已经上传了,在云端。但现在我想删除那个提交。

标签: mercurial bitbucket tortoisehg


【解决方案1】:

“删除提交”的唯一方法是在 bitbucket 上剥离它,但这有几个缺点,特别是如果您以外的其他人已经“拉取”了有问题的提交。

处理您的情况的首选方法是使用hg backout。这会“隐藏”提交,而不是实际删除它。

【讨论】:

  • 这是正确的方法。当且仅当只有非常小的存储库副本(例如,在 Bitbucket、您的本地 PC 上,并且可能无处其他地方)时,剥离选项才可行,在这种情况下,您必须剥离每个位置的无效提交大约在同一时间。
猜你喜欢
  • 1970-01-01
  • 2011-07-02
  • 2021-10-28
  • 2011-04-30
  • 2021-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-13
相关资源
最近更新 更多