【发布时间】:2019-03-27 14:00:35
【问题描述】:
如果在第一个问题之间还有另一个问题的提交,那么将一堆提交合并为一个问题的最简单方法是什么?
我尝试使用rebase:
git checkout ISSUE-006
git rebase -i HEAD~13
这给了我:
pick 5796b58 ISSUE-006: Fix case 1
pick 4d836b2 ISSUE-006: Fix case 2
pick cae225b ISSUE-006: Bump version
pick 0006f82 ISSUE-006: Fix case 3
pick 98263c2 ISSUE-006: Bump version
pick 8bcc4d4 ISSUE-018 Blahblahblah
pick 6b18711 ISSUE-018 minor changes
pick 0924c16 ISSUE-018 Blahblahblah
pick 0e720f9 ISSUE-006: Bump version
pick bc66908 ISSUE-006: Remove comments
pick 49930b9 ISSUE-006: Proper encoding
pick 8f1196e ISSUE-006: Add tests
pick 2bcbfef ISSUE-006: Bump version
我希望将属于 ISSUE-006 的每个提交压缩成一个提交。如果我理解正确,我可以简单地使用默认编辑器并将pick 更改为squash?
我还尝试将merge 与--squash 一起使用,但没有成功:
git checkout ISSUE-006
git branch -m ISSUE-TMP
git checkout master
git branch -b ISSUE-006
git merge --squash ISSUE-TMP
git branch -d ISSUE-TMP
我不确定它是否相关,但我想这样做的原因是因为我希望我的拉取请求是干净的并且只有一个提交。
【问题讨论】: