首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git/Git扩展中的"squash“和"fixup”有什么区别?

Git/Git扩展中的"squash“和"fixup”有什么区别?
EN

Stack Overflow用户
提问于 2013-05-26 18:01:01
回答 7查看 66.6K关注 0票数 135

我使用Git Extensions已经有一段时间了(太棒了!)但我还没有找到一个简单的答案来回答以下问题:

有时,在输入提交消息时,会出现打字错误。我的朋友向我展示了如何通过以下方式修复它(在Git扩展中):

右键单击commit > Advanced > Fixup commit

然后我只需勾选“修改”框并重写我的消息,瞧!我的提交消息是固定的。

然而,另一个选项"Squash commit"...我一直想知道它是做什么的?!

我的问题是:

谁能简单地给我解释一下Squash commitFixup commit在Git/ Extentions中的确切区别是什么?他们看起来有点...和我“相似”:

EN

Stack Overflow用户

发布于 2021-08-27 12:53:42

squashfixup都允许通过它们各自的diff引入代码更改。(通常不会提及)

squashfixup之间的区别在于如何处理提交消息。

fixup的情况下,原始提交消息保持不变,fixup提交消息中的任何文本都被忽略(随意转储)。

squash的情况下,两个提交消息被一个接一个地组合(‘融合’),并提供给用户的编辑器,以便它们可以按照用户的需要被合并/融合在一起。

初始组合消息(squash)将包含注释标记,显示消息的开始和结束位置。可以应用多个squashfixup

在讨论小的代码更正(不需要更改消息)时,术语可能会令人困惑,因为通常有人可能会认为代码是“挤入”的,而实际上并不需要squash

票数 5
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16758131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档