Git为合并的要素分支重新设置基础交互式编辑?

Git为合并的要素分支重新设置基础交互式编辑?,git,merge,git-rebase,Git,Merge,Git Rebase,在以下情况下会发生什么: 这里有一条生命线无穷的主支脉 将为要素创建新分支,并在完成时与主分支合并。该分支已被删除 在某个时刻,我需要对已经被视为关闭的功能进行更改(它被合并到主功能中并被删除) 我所做的是: git rebase --interactive X 对源代码进行了更改并修改了提交X。我希望图形保持不变,但得到了如下结果: X --- -(feature (branch deleted) / \ / M

在以下情况下会发生什么:

  • 这里有一条生命线无穷的主支脉
  • 将为要素创建新分支,并在完成时与主分支合并。该分支已被删除
在某个时刻,我需要对已经被视为关闭的功能进行更改(它被合并到主功能中并被删除)

我所做的是:

git rebase --interactive X
对源代码进行了更改并修改了提交X。我希望图形保持不变,但得到了如下结果:

        X --- -(feature (branch deleted)
       /      \
      /        M
     /        /
    /        /                 
   a --- --- --- X master

提交的编辑是否在合并之间传播?与现有“未来”提交的潜在冲突如何?

您的新提交图有另一个
X
提交,因为rebase在默认情况下不保留合并。如果要保留合并,则需要使用
--preserve merges
标志,简称
-p

git rebase -i -p <base-commit>

X
具有与分支相关的更改,这就是我选择它的原因。@Alan当您使用rebase时,您应该使用不会更改的基本提交来调用它,这意味着您必须在要修改的提交之前选择提交。
X
是否显示在您从中拾取、编辑和挤压提交的交互式重基编辑器中?
git rebase -i -p <base-commit>
git rebase -i -p a