我最近开始使用git commit --fixup
和--squash
选项。我使用--fixup
选项,嗯,fixups。当我使用--fixup
选项提交时,会自动构造提交消息。例如,当我提交
$ git commit -m '[#123] Lorem ipsum dolor sit amet'
然后我做了一些小编辑
$ git add .
$ git commit --fixup :/123
将自动生成提交消息fixup! [#123] Lorem isum dolor sit amet
。但是,当我使用--squash
选项时,例如
$ git add .
$ git commit --squash :/123
git将运行文本编辑器并要求我编写提交消息,但同时,它将在编辑器中生成并插入默认提交消息squash! [#123] Lorem ipsum dolor sit amet
。
我的问题是:编写--squash
提交邮件的最佳做法是什么?使用--fixup
选项,没有混淆,因为git将自动生成消息并且不允许我编辑它。但是使用--squash
选项,git on一方面会自动生成消息,但另一方面可以让我选择编辑它。难题是,如果我总是只接受自动生成的消息squash! [#123] ...
,git给我机会编辑它的目的是什么,除{--squash
之外还有--fixup
选项的目的是什么? 1}}如果它做同样的事情?我担心如果我以错误的方式编辑消息,git将不再将提交识别为旨在自动解压缩到原始[#123]
提交。