【问题标题】:What is the git commands to delete unwanted commits that haven't been pushed to the remote?删除未推送到远程的不需要的提交的 git 命令是什么?
【发布时间】:2011-12-03 22:54:04
【问题描述】:

如果我有几个本地主题分支,我已经提交并且还没有将它们推送到远程,我该如何删除它们?

我不想用不需要的提交污染主树。

【问题讨论】:

  • 您可以将它们保存在本地而不是推送它们。

标签: git branch local commit


【解决方案1】:

如果你还没有将它们推送到遥控器,应该很容易删除它们。

git branch -D <branch-to-delete>

将强制删除您不想保留的分支。

【讨论】:

  • 个人提交是否也可以这样做?
  • 是的个人提交:请参阅此问题的答案:stackoverflow.com/questions/3669063/…
  • 只是为了迂腐:删除一个分支会删除代表该分支的标签,并将该分支指向其 HEAD 的提交保留为悬空,容易在下一次垃圾回收中清理扫描,但它实际上并没有删除那些提交。
【解决方案2】:

尝试查找 rebase - 这里有一系列很好的视频:http://www.ava.co.uk/git

【讨论】:

    【解决方案3】:

    试试这个。这样就可以删除单个提交。我假设您要删除的提交距离 HEAD 不超过 16 步。

    git rebase -i HEAD~16...HEAD

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-08
      • 1970-01-01
      • 2013-08-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-28
      • 2017-01-19
      • 2013-03-26
      相关资源
      最近更新 更多