【问题标题】:How to dismount the middle commit from the git with Sourcetree?如何使用 Sourcetree 从 git 中卸载中间提交?
【发布时间】:2021-03-14 17:32:26
【问题描述】:

我有一个大项目。我有一个分支,其提交的结构如下:

e 

d

c pod updated successfully with this commit

b

a

我想撤消 c 提交更改,因此我可以继续使用未更新的 pod:

e

d

b

a

那么使用 Sourcetree 最简单的方法是什么?我对 Git 不太熟悉,请告诉我一个简单的方法。

【问题讨论】:

  • c 上创建一个分支并着手处理该分支。 pod 这个词是怎么来的?它与 git 无关。
  • @fredrik 这是一个提交名称
  • @fredrik 创建 b 很好,然后我一个接一个地选择 d 和 e ?我只想省略 c 提交,恢复工作?
  • 提交没有名称,它们有一条消息、一个 SHA 并且可能有一个指向它们的标签。也许是指向序列中最后一个分支的分支。
  • Revert 将创建一个新的提交 c',这是 c 的逆向 - 但它会删除 c 所做的更改

标签: git commit atlassian-sourcetree


【解决方案1】:

您想在删除提交 c 的地方进行交互式变基。

我将用一个简化的草图进行演示,其中只有三个提交,a、b 和 c,我将删除中间的一个,提交 b。

这里我们有提交 a、b 和 c:

按住 Control 键单击提交 a,然后请求交互式变基:

在出现的对话框中,选择要删除的提交,然后单击删除。在这里,我将删除提交 b。

现在点击确定。执行了交互式 rebase,你会发现不需要的提交消失了:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 2017-04-08
    • 1970-01-01
    相关资源
    最近更新 更多