处理 GIT 中的并行重复分支

Handling parallel duplicate branches in GIT

我很为难,如果有人能帮助我,我将不胜感激。

最初,我有两个功能分支:branchA 和 branchB

确定了branchB是属于branchA的,于是我赶紧愉快的将branchB合并到branchA中。

现在,branchA 继续增长,在合并之后,相当多的新功能被添加到 branchB(现在的 branchA + branchB)。

有一段时间我保留了原始的 branchB,并尽我所能使它与添加到 branchA 的任何功能保持同步,以便(理想情况下)在两个分支上进行相同的更改,并最终合并branchB合并到Master,然后将branchA合并到Master。

然后它击中了我:

我知道这个问题可能看起来很愚蠢,但我想了解在这种情况下理想的流程是什么,考虑到它会影响一个大型项目,所以非常欢迎任何建议和评论!

is there a real good reason to do this, apart from maintaining a duplicate of branchB?

我认为没有任何理由浪费时间和精力来维护重复的分支。在一个完美的世界中,每个功能只有一个分支。
随着一个功能变得越来越大,代码散布在不同的文件中,将您的更改保存在两个不同的分支中变得非常困难,最重要的是您不需要这样做,因为在某些时候您想要合并所有内容掌握。

will this duplicate situation potentially lead to conflicts ...

这实际上取决于您如何使 branchB 与 branchA 的更改保持同步,如果您 cherry-pick 每次提交,不,但是如果您以某种不同的方式移动更改,很可能会有冲突。

... and is it good practice?

我不考虑任何让你的生活更艰难的事情 'good practice'。
我认为每个公司都有自己的规则 'good' 和 'bad' 做法,但在我工作过的所有公司中,这被认为是不好的。

theoretically speaking, doesn't branchA now be an independent feature branch and... is it fair to call branchB a "zombie branch"?

好像branchA是一个独立的功能分支,branchB应该删除,因为不需要并且不引起混淆。