我正在使用 SourceTree,并尝试将一个分支压缩提交到另一个分支。有人告诉我可以通过交互式变基来压缩。所以我试着这么做。我收到以下消息:
如果我只是接受提交消息,它什么也不做(我期望出现交互式变基对话框)。我猜它试图从 93a74a2e 变基到 93a74a2e 再变基到 93a74a2e(即,将一个提交变基到其自身)。由于只有一个提交,它认为没有什么可做的,所以它就结束了。
我想要压扁的分支是下面蓝色的分支:
是不是因为从头部正下方的红色分支进行合并,导致我无法重新定基(从而压缩)93a74a2e 之前的任何内容?
如果我想压缩过去提交(分支屏幕截图中未显示)和头部之间的蓝色分支中的所有内容,然后将该压缩的提交(仅压缩的提交)合并到另一个分支(也未显示)怎么办?
我以前曾在命令行上这样做过:
git checkout destinationBranch
git merge --squash sourceBranch && git commit -m ‘squash merging from sourceBranch’
但它在提交之前就停止了,并要求我将其作为单独的步骤提交。这导致(我认为)在 SourceTree 分支图中看不到合并(我认为它只是将提交视为分支中的更改,而不是合并)。所以这次我通过 SourceTree 尝试。