在GitHub上,我的网络图如下所示
---o---o---X--------------o---o master
\
Y-----Z test
\
o---o------o----------o devel
而在“精神”中它应该看起来更像这样。
---o---o---X--------------o---o master
\
Y----o-----o-----o-----------o devel
\
Z test
test
分支只是对新功能的测试,从第一个图表可以看出devel
是来自test
的分支
答案 0 :(得分:0)
为了清晰起见,我将命名master~2
,即分歧点,“X”。
您可以将test
分支重新定位在X上,然后将devel
重新定位为test
。
如果不更改devel
和master
上的所有提交哈希值,就无法进行交换,因为每次提交都包含对其父项的引用,并且您要执行的操作会更改test
和devel~4
的父母。因此,只有rebase
之类的历史记录重写命令或参考名称的移动才能实现您的目标。
答案 1 :(得分:0)
问题在于Y
和test
分支都“拥有”devel
。为了解决这个问题,我安排了它只被devel
分支“拥有”。
X
到Z
temp
X
temp
分支test
至temp
temp
分支