【问题标题】:How to insert a commit between some two past commits, but before a branch如何在过去的两个提交之间但在分支之前插入提交
【发布时间】:2023-02-20 23:21:12
【问题描述】:

我想知道如何在两个旧提交之间插入一个新提交(提交 X),但是(这是复杂的部分)我想在“分支点”(在本例中为提交“B”)之前执行此操作.

例如:

前:

A -- B -- C <<< master
      \
       D -- E <<< branch

后:

A -- X -- B -- C <<< master
           \
            D -- E <<< branch

当这里没有分支时,我已经看到很多很好的答案,它们工作得很好:

但是,当在分支点之前插入提交时,这些选项都不起作用,因为它们会在变基后修改“上游”树的其余部分。

最好的方法是什么?

对于上下文,我发现自己经常需要这样做的原因是当我开始一个新的功能分支时,我意识到(在几次提交之后)一些更改应该更早地在 master 分支上完成,而不是新的feature 分支,例如,修改一些 .vscode 文件或对更多属于 master 分支而不是 feature 分支的代码进行一些结构重构。

在这种情况下,这是“正确的做法”吗?

【问题讨论】:

    标签: git github insert branch commit


    【解决方案1】:

    这些都是普通的变基....在老的B 这样运行第二个 rebase 就更简单了。

    git branch old-B B
    

    然后根据您的喜好对master 分支进行变基。当你处理好之后,像这样重新设置另一个分支:

    git rebase old-B other-branch --onto new-B
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-13
      • 1970-01-01
      • 2020-05-07
      • 2012-08-12
      • 2021-11-06
      • 2015-11-18
      • 1970-01-01
      相关资源
      最近更新 更多