Git:如何从分支树的根到叶进行分层合并?(补丁堆栈管理)
我主要使用Git进行版本控制,但也尝试过Mercurial。虽然我一般不太喜欢Mercurial,但使用Mercurial队列(MQ)维护清晰分离的补丁的想法非常吸引人。因此,我想在Git中找到类似的东西(但更容易使用,更“gitty”,甚至更强大) 因此,我将首先解释我的想法: 例如,假设我正在进行测试驱动开发。我的主分支遵循软件的主存储库。在此基础上,我有一个分支称为“功能测试”,并由此分支为“功能实现”: 对于每个分支,我都记得父分支 然后,实现将像这样工作:我签出特性测试并编写一些测试。然后我检查特性实现,将其重新设置为特性测试的当前状态,并编写实现。等等 在某个时刻,我更新了master,然后重新设置了特性测试和特性实现的基础 作为一个旁注:与重新设置分支的位置不同,另一种方法是合并来自父分支的更改。这使冲突解决变得更容易。无论如何,通过分支链的级联合并就像一个重基 当然,上面描述的过程包含大量繁琐的手工工作。因此,我正在为以下任务寻找工具:Git:如何从分支树的根到叶进行分层合并?(补丁堆栈管理),git,branch,patch,Git,Branch,Patch,我主要使用Git进行版本控制,但也尝试过Mercurial。虽然我一般不太喜欢Mercurial,但使用Mercurial队列(MQ)维护清晰分离的补丁的想法非常吸引人。因此,我想在Git中找到类似的东西(但更容易使用,更“gitty”,甚至更强大) 因此,我将首先解释我的想法: 例如,假设我正在进行测试驱动开发。我的主分支遵循软件的主存储库。在此基础上,我有一个分支称为“功能测试”,并由此分支为“功能实现”: 对于每个分支,我都记得父分支 然后,实现将像这样工作:我签出特性测试并编写一些测试。
- 在分支上时,从它跟踪的远程分支上拉主节点,并沿分支链合并更改。遇到冲突时,切换到发生冲突的分支,允许用户解决冲突,然后继续级联合并(类似于git rebase遇到冲突时的操作)
- 签出分支时,将自动从祖先分支进行级联合并。冲突处理应如前一点所述
master
|_ feature-test
|_ feature-implementation