我无法将开发分支的子树合并回集成分支.
我有两个分支,一个用于开发,一个用于集成.在开发分支中已经进行了广泛的开发,我想将其中的一部分合并回来.我想要合并的特定部分都包含在开发分支的一个子树中.
我的目录结构是这样的:
[Branch A] [Branch B]
| |
+--Dir1 +--Dir1
+--Dir2 +--Dir2
| | |
+--DirA | +--DirA
| | |
+--File1 | +--File1
+--File2 | +--File2
| +--File3
| +--File4
+--Dir3
Run Code Online (Sandbox Code Playgroud)
我想将Branch B/Dir2/DirA合并到Branch A/Dir2/DirA中.我希望合并File1和File2,并且应该在分支A中创建File3和File4.我不想选择Dir3或Dir1中的任何更改.
我已经尝试了kernel.org概述的步骤来合并子树,但是当我使用git read-tree时它们会失败:
error: Entry 'Dir1/DirA/File1' overlaps with 'Dir1/DirA/File1'. Cannot bind.
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用github上托管的子树脚本,但我没有太多运气.当我做:
git checkout Branch_A
git subtree merge -P Dir2/DirA Branch_B
Run Code Online (Sandbox Code Playgroud)
我看到证据表明Dir3已经合并,合并失败并伴随着冲突.
我可以挑选合并的文件,但这对于应该是一个普通和直接的问题似乎不必要地复杂化.