7

假设以下“工作流程”

create branch master
add + commit some files
create and checkout branch dev
edit and commit several times with silly commit messages
checkout master
merge dev branch into master branch

在最后一步中,是否可以不从 dev 分支上的提交中引入所有(愚蠢的)提交消息,而只有一个提交消息,例如“今天合并的 dev 分支”?

马蒂亚斯

4

1 回答 1

10

您需要commit-squashing,可以通过以下几种方式完成:

  • 如果您想对 squash 中包含哪些提交进行细粒度控制,如果您想将您的功能提交压缩为多个提交(例如,拆分逻辑更改),或者您只想更改提交消息,“以交互方式变基” ( git rebase -i) 适合您。
  • 如果您想快速完成并将所有相关提交合并为一个,您可以使用--squash选项togit mergegit rebasegit pull

关于这两个主题的更多信息可以在Pro Git 书的第 6 章和上面链接的命令手册页中找到。

于 2013-02-15T13:42:19.800 回答