【发布时间】:2013-10-03 07:18:07
【问题描述】:
假设你有这个:
master: o--o--o
development: `o--o--o
我想将更改合并为一个提交(避免一路上的所有垃圾提交):
git checkout master
git merge --squash development
但随后github网络页面显示如下:
master: o--o--o---------o
development: `o--o--o
你应该做什么,它显示了你的期望,即:
master: o--o--o---------o
development: `o--o--o’
【问题讨论】:
-
您可以使用
git merge --no-ff获得最后一张图。但请注意,“垃圾提交”仍然存在。 -
还值得注意的是,“壁球合并”不是真正的合并(正如您的历史显示的那样);它确实更像是一个“壁球变基”。你可能会得到你真正想要的,首先压缩
development(重写历史)然后通常将结果合并到master中。