当我这样做时:
$ git checkout master
$ git merge --squash my-feature-branch && git commit -m ""
生成的提交消息非常冗长,包含来自每个压缩提交的完整消息:
Squashed commit of the following:
commit ...
Author: ...
Date: ...
Commit message from the latest squashed commit
commit ...
Author: ...
Date: ...
Commit message from the second-latest squashed commit
That is, the whole multi-line message unabridged.
...
如何获取
的提交消息即。喜欢git log --oneline
的输出,但没有提交哈希值。
将--log
选项提供给git merge
似乎没有任何区别。
答案 0 :(得分:0)
这一点shell工作,但它不漂亮:
b=my-feature-branch
git merge --squash "$b"
git commit -m "$(git log --reverse --format='- %s' .."$b")"
压缩提交从最早到最晚列出(即自然按照它们的顺序排列)并以破折号为前缀。
我不确定这是如何应对合并冲突的。