我使用Git Extensions已经有一段时间了(太棒了!)但我还没有找到一个简单的答案来回答以下问题:
有时,在输入提交消息时,会出现打字错误。我的朋友向我展示了如何通过以下方式修复它(在Git扩展中):
右键单击commit > Advanced > Fixup commit

然后我只需勾选“修改”框并重写我的消息,瞧!我的提交消息是固定的。
然而,另一个选项"Squash commit"...我一直想知道它是做什么的?!
我的问题是:
谁能简单地给我解释一下Squash commit和Fixup commit在Git/ Extentions中的确切区别是什么?他们看起来有点...和我“相似”:


发布于 2021-08-27 12:53:42
squash和fixup都允许通过它们各自的diff引入代码更改。(通常不会提及)
squash和fixup之间的区别在于如何处理提交消息。
在fixup的情况下,原始提交消息保持不变,fixup提交消息中的任何文本都被忽略(随意转储)。
在squash的情况下,两个提交消息被一个接一个地组合(‘融合’),并提供给用户的编辑器,以便它们可以按照用户的需要被合并/融合在一起。
初始组合消息(squash)将包含注释标记,显示消息的开始和结束位置。可以应用多个squash和fixup。
在讨论小的代码更正(不需要更改消息)时,术语可能会令人困惑,因为通常有人可能会认为代码是“挤入”的,而实际上并不需要squash。
https://stackoverflow.com/questions/16758131
复制相似问题