【问题标题】:Git - removing a commit from branch and keep progressGit - 从分支中删除提交并保持进度
【发布时间】:2014-10-29 19:45:26
【问题描述】:

我知道如何使用 git 重置为之前的提交,但是在仍然保留当前提交的同时删除之前的提交的正确方法是什么?

例如,我有提交 w、x、y、z,但我想从当前工作的分支/树/头/远程中删除 x,并仍然保留其余部分。

我该怎么办?

【问题讨论】:

  • 你想创建一个新的提交(我们称之为a)来撤消从wx的更改,并以w - x - y - z - a结束?还是你想重写历史以假装x 从未存在,并以w - y'- z' 结束?
  • 好吧,如果我可以将它保留在历史记录中而不清除它,那将是理想的,这样我仍然可以进入并解决问题。这基本上只是为了消除特定提交中发生的错误。
  • 那么 Nils Werner 的答案就是你想要的。
  • 完美,非常感谢您的反馈

标签: git commit revert


【解决方案1】:
git revert <id-of-commit>

这实质上创建了一个具有id-of-commit 的“反向差异”的新提交。所有过去的提交都保持不变,但 Git 会尝试撤消那一次。

此外,Git 创建一个新的提交。这意味着您可以简单地将还原推送到您的远程存储库,而不会弄乱历史记录。

【讨论】:

    猜你喜欢
    • 2017-01-24
    • 2022-10-15
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    • 2021-08-02
    • 2018-12-05
    • 1970-01-01
    • 2014-09-01
    相关资源
    最近更新 更多