假设我有开发分支和FixBullshit分支,我在FixBullshit中有5个提交,我做了一个pull请求但是将FixBullshit与merge + squash合并开发以保持开发为1提交以保持它更清晰(是它顺便说一句,最佳选择?)
事情是,在这样做之后,在github的网络图中看起来像Bullshit分支没有开发,但它从未合并然后在开发中出现1个提交但是与Bullshit分支没有关系,就像它发生的那样在我的git https://github.com/noxerr/VRHarry/network 分支机构开发和“fixSensorsinput”
我做错了什么?我怎么能在网络上创建该链接?答案 0 :(得分:2)
网络图显示了git repo的历史记录,以及"压缩"通过压缩来改变历史。
Github正在做的是采用此图
A--B--C--D--E
\
F--G--H
将F--G--H
压缩到单个提交W
中,并将其应用为
A--B--C--D--E--W
\
F--G--H
要执行您的建议,您可以在合并之前将F--G--H
压缩到一个提交Q
中,以制作类似
A--B--C--D--E--I
\ /
Q--------
不幸的是,这种形式的壁球合并改变了历史,这可能会给那些拥有旧历史本地副本的人造成问题。这可能是Github如上所述合并的原因,而不是像这样
互联网上有很多网页like this one关于压缩,变基和其他合并方法的优缺点。
答案 1 :(得分:1)
如果你这样做,那么你将失去分支的轨道,因为这是git的工作方式
答案 2 :(得分:0)
不确定我是否理解你。你似乎想要压缩你的提交,但同时保持你的开发提交。
在这种情况下,您只需要在与squash 合并之前创建另一个分支,并且不要检查它。然后你将有两个分支。