【问题标题】:git remove commit from a mergegit 从合并中删除提交
【发布时间】:2011-03-23 07:52:24
【问题描述】:

我有以下问题...

我试图将一个远程分支合并到我的本地,然后将更改推送到存储库...好的,我获取了具有三个提交的远程分支,但其中一个尚未完成,所以我没有想要将这些提交中的一个推送到 repo ......当我运行 git log 时,它向我显示了这个:

commit: A1
merge: M1
    merge remote branch "remote/branch"

提交:A2 提交:A3 提交:A4

我想删除提交 A2... 我该怎么做?我正在搜索,有人说要使用 git rebase 或 git reset,但我不确定我应该使用哪一个...以防万一,我没有推送这些更改

感谢您的帮助

【问题讨论】:

  • 您想只删除提交 A2,还是提交 A2 以及它之后的所有内容?等等,你想删除提交,还是只是不推送它?
  • 嗨,martinho,我只想删除提交 A2

标签: git branch commit


【解决方案1】:

如果您还没有推送合并提交(这意味着 A2 也没有被推送),您可以交互地变基:

git rebase -i HEAD~3

现在删除合并提交行。然后,重新排序提交,以便 A2 是最新完成的。完成后,分支:

git branch incompleteFeature

然后将 master 重置为上一次提交:

git reset --hard HEAD^

现在您可以正确同步,不完整的功能将位于它自己的分支中,直到您决定稍后在它准备好时将其合并。

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2017-01-24
    • 2012-09-02
    • 2021-04-20
    • 2021-04-13
    • 2020-02-15
    • 2011-12-19
    • 2015-09-02
    • 2012-09-10
    • 2021-06-12
    相关资源
    最近更新 更多