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