我有一个开放的公关的一个分支称为 feature-b
很快就会被合并到 main
. 然而,我写的,它以支持我的 feature-a
分支,这是正在进行的。 我想继续工作 feature-a
和杠杆作用的工作我有没有在 feature-b
在它之前已被合并到 main
.
什么是最好的方式为我要这么做吗? 我们的将来 main
被压扁了,因此所有提交上 feature-b
将被改写作为一个单一承诺,当它是合并到 main
. 因此,变基 feature-a
上 feature-b
现在将会导致在未来冲突的痛苦,当我合并 feature-a
要 main
因为同样的修改会已经在不同的提交。
什么是最好的方式对我来说,包括改变 feature-b
我 feature-a
分,同时尽量减少未来的痛苦,当我最后的合并 feature-a
要 main
?
更新
我继续:
- 罢了
feature-a
上feature-b
- 作出更多的更改(只有1commit)
feature-a
虽feature-b
正在审查 - 壁球合并
feature-b
一旦获得批准(没有进一步变化的需要,所以feature-a
已经精确的代码合并) - 拉最新的
main
和罢了feature-a
在它的顶部
作为的担心,git抱怨说,几个文件是"两个修改"或"两者加入". 这就是有点烦人,但简单的解决。 什么使得它非常令人困惑,尤其是如果任何通道的时间已经过去了-是的合并意见的文件。
虽然两个 main
和 feature-a
分支机构具有 完全相同的代码 所有文件中,我得到超级讨厌的行为:
- 对于"两者加入"的文件,合并意见,添加对"头部(目前的变化)"和"父母的#哈希(提交信息)". 我被迫选择一种或另一种,即使他们是一模一样!
- 对"这两个经修改的"文件,它甚至更糟。 "头部(目前的变化)"表示了正确的代码。 然而,"父母的#哈希(提交信息)"部分中表示的一半代码。 再次, 虽然两个分支机构的所有代码! 我不骗你,接受"的来变化"(作为标记的通过VS代码)将删除的代码,在这两种分支!
如果我不得不作出的这些变化迅速,我们会无可救药的丢失和困惑什么git是表示我。 这确实已经发生了几次在过去,但我不能把手指放在什么是错误的。 现在,我再现这种和验证的行为,我完全不知如何是好,什么git这样做,人们是如何处理这种情况。
更新2
好吧,我看看为什么它要消除的代码。 这是因为我所做的更改在 feature-b
在多承诺,这些承诺结束了被压扁的时合并 main
发生。 这是毫无疑问的该来源的痛苦和为什么我试图找出一个理智的工作流程。