我创建了一个"branch_b",最终应用了两个提交。当我试图与主人合并时,我意识到我很久没有拉过我的主人,所以有太多的冲突(其中一些与我的提交无关(以至于不值得解决它们(太多的努力(。
我想做的是从更新的主控形状创建一个新的"branch_X",并应用我在"branch_b"上所做的更改。
有可能实现吗?
我试过:
挑选提交,但是当我尝试将它们应用于branch_X时,我在尝试将"branch_b"合并到 master 时会遇到相同的冲突。如前所述,如果我开始解决所有冲突,可以证明要到2050年。
创建一个补丁(使用 diff 命令(并尝试在"branxh_X"上应用。那个也失败了,来自 git 的一条简单消息"错误:补丁失败:">
UPDATE1
到目前为止,任何尝试都会导致冲突,这是我试图避免的。
假设我创建了一个新分支,并且从头开始进行与"手动"branch_b相同的更改。而不是手动执行此操作,是否可以通过 git 执行此操作?没有变基或挑选(无论我尝试什么,这些都会产生冲突(?
这可以像这样完成:
git checkout --detach branch_b
git rebase --onto branch_X branch_X HEAD
这应该在branch_X的基础上应用两个修订......但这会带来同样多(如果不是更多(的冲突。并不是说变基可以神奇地摆脱冲突。一个一般规则会说(你可以引用我的话(:You could skip conflicts on rebase by merging.... it doesn't work the other way around
.
如果您喜欢变基后的结果
git branch -f branch_b # ser branch_b on it's new position
然后根据需要推送