将一个git分支拆分为两个,然后只删除其中一个分支上的代码部分
我有一个git分支(我们称之为将一个git分支拆分为两个,然后只删除其中一个分支上的代码部分,git,Git,我有一个git分支(我们称之为branch\u a),在这个分支上,我做了一些工作,以便稍后合并到master。我现在意识到,到目前为止我编写的代码应该是两个独立的分支,因为实际上这是两个特性,其中一个几乎完成合并,而另一个是第一个的扩展,但需要更多的工作 我的第一个想法是再次分支branch\u A以获得branch\u B,而不是删除branch\u A上未完成功能的行,将其合并到master中,然后在完成后也合并branch\u B 我看到的问题是,在我将分支机构A合并到主控机构中之后,将
branch\u a
),在这个分支上,我做了一些工作,以便稍后合并到master
。我现在意识到,到目前为止我编写的代码应该是两个独立的分支,因为实际上这是两个特性,其中一个几乎完成合并,而另一个是第一个的扩展,但需要更多的工作
我的第一个想法是再次分支branch\u A
以获得branch\u B
,而不是删除branch\u A
上未完成功能的行,将其合并到master
中,然后在完成后也合并branch\u B
我看到的问题是,在我将分支机构A
合并到主控机构
中之后,将主控机构
合并到分支机构B
(以保持其他更改的最新状态)也会删除分支A
中缺失的第二个功能的代码,因为删除它们的提交会合并到分支B
,对吗
在将master
合并到Branch\u B
时,如何删除Branch\u A
上的部分代码,而不在Branch\u B
上删除它们
我对git没有太多经验,所以可能有更好的解决方案。我也希望我的解释对任何人都有意义……假设您从A分支:在分支B中,将有A的一部分。如果您经常提交,您可能能够识别一组仅包含功能A内容的提交,以及仅包含功能B内容的提交。如果是这样,请从“主”分支(或等效分支),然后
git cherry从分支A中选择您需要的内容。删除分支A中的编辑。请记住:每次提交都会记录上一次提交中的编辑并可以重播。您可以“接受”提交并从另一个起点重播它。如果运气好的话,它可能会起作用。这只是一个探索的想法。@DaemonPainter我将对此进行研究,但我认为我没有经常承诺以这种方式将两者分开。。。