在GIT中,我在单个存储库中有两个分支-分支“ A”和分支“ B”(从旧SVN存储库中的两个文件夹创建)
这些分支完全分开:它们没有共同的祖先。
这些分支中的每一个都写入不同的目录。例如:分支A仅写入目录“〜/ A”,分支B仅写入目录“〜/ B”(因此没有冲突)。
我想将这两个分支合并到单个分支中,因此它看起来像单个分支存储库。
我试过了:
最好的方法是从两个分支中获取所有更改,按时间排序,并在某个新分支上进行一对一的“重播”。但是我不知道该怎么做。
感谢您的回答!
编辑:这是现在的样子(按时间从左到右):
Branch [A]: A1----A2-------A3----A4-A5
Branch [B]: B1----B2----B3-B4----B5
When using merge:
A1----A2-------A3----A4-A5-\
B1----B2----B3-B4----B5--------\
When using rebase:
A1----A2-------A3----A4-A5-B1-B2-B3-B4-B5
What I need:
B1-A1-B2-A2-B3-B4-A3-B5-A4-A5
您可以使用交互式变基来将提交重新排序为所需的顺序。
交互式rebase可让您对文本文件中的更改进行重新排序,我建议您编写一个bash脚本以按所需的时间顺序准备一份提交列表,例如:
pick b111111 B1
pick a111111 A1
pick a222222 B2
pick a222222 A2
pick b333333 B3
pick a333333 A3
...然后在交互式资源库中使用它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句