我一直在阅读有关commit和rebasefixup!的git 文档,但我仍然不明白squash!在执行rebase --autosquash. 我相信我理解修复以前的提交的fixup!作用,但我没有看到一个很好的例子来代替。任何人都可以澄清两者之间的区别,并给出一些它们以不同方式使用的背景吗?提前致谢!squash!
正如我在“修剪 Git 提交/压缩 Git 历史记录”中所说明的那样,并总结一下:
\n\n\n\n\n与修复!指令,您可以在提交消息中保持压缩“不可见”,同时仍然受益于使用该
\n--autosquash选项的自动提交重新排序
正如Op Dash评论的那样:
\n\n\n\n\n使用
\nsquash!将保证挤压操作被记录在历史中,这fixup!与更“干净”的方法中不可见的挤压操作不同。
在 Git 2.16.x/2.17(2018 年第 1 季度)之前,另一个区别是您无法将“ git commit --fixup”与附加提交消息结合起来。
\n现在情况不再是这样了。
请参阅\xc3\x86var Arnfj\xc3\xb6r\xc3\xb0 Bjarmason ( )的提交 30884c9(2017 年 12 月 22 日)。\n帮助者:Eric Sunshine ( )。\n (由\xc3\x86var Arnfj\xc3\xb6r\xc3\xb0 Bjarmason 合并 -- --提交30884c9,2017 年 12 月 22 日)avarsunshinecoavar
\n\n\n\n\n
commit:添加支持--fixup <commit> -m"<extra message>"添加对提供
\n\n-m选项的支持--fixup。\n 自从引入以来
,这样做就出错了(“选项-m无法\n组合”) 。\n 在此之前,提交时修改修复消息的唯一方法是在编辑器中使用和修改它。--fixup--edit此功能的用例是以下之一:
\n\n\n
\n\n- \n
在创建提交时给自己留下一个简短的注释,
--fixup当\n 不言而喻的情况下,为什么应该在没有注释的情况下将提交压缩到另一个提交中。- \n
(Ab) 使用该
--fixup功能来“修复”已经被推送到不允许非快进的分支的提交,
\n 即只是注意到“this should have been part of that other commit”,\n 并且如果历史记录已得到将来重写,两者应该结合起来。在这种情况下,您可能想留下一条小消息,
\n
例如“forgot this part, which broke XYZ”。
注意,在 Git 2.17 (Q2 2018) 之前,“ git commit --fixup”不允许-m<message>同时使用“ ”选项;允许它用更多文本注释结果提交。
请参阅提交 30884c9、提交 f55e84f(2017 年 12 月 22 日),作者:\xc3\x86var Arnfj\xc3\xb6r\xc3\xb0 Bjarmason ( avar)。
\n帮助者:Eric Sunshine ( sunshineco)。
\n (由Junio C Hamano 合并 -- gitster--在提交 c1ab3b8中,2018 年 2 月 27 日)
\n\n\n\n\n
commit:添加支持--fixup <commit> -m"<extra message>"添加对提供
\n-m选项的支持--fixup。--fixup自从引入以来,这样做就一直出错。--edit在此之前,在提交时修改修复消息的唯一\n 方法是在编辑器中使用并修改它。
此功能的用例是以下之一:
\n\n\n\n\n
\n\n- \n
在创建提交时给自己留下一个简短的注释,
--fixup当\n 不言而喻的情况下,为什么应该在没有注释的情况下将提交压缩到另一个提交中。- \n
(Ab) 使用该
\n\n--fixup功能来“修复”已经被推送到不允许非快进的分支的提交,即只是注意到“这应该是其他提交的一部分” ,\n 如果将来历史被重写,则应\n 将两者合并。在这种情况下,您可能想留下一条小消息,例如“忘记了这部分,这破坏了 XYZ”。
这样,
\n\n--fixup <commit> -m"More" -m"Details"将产生如下提交消息:Run Code Online (Sandbox Code Playgroud)\n\n!fixup <subject of <commit>>\n\nMore\n\nDetails\n\n
--fixup最初添加选项时, “选项-m无法\n组合”错误已从 扩展-c,-C并且-F还包括\n--fixup( commit d71b8ba , "commit: --fixup option for use withrebase --autosquash", 2010-11-02, Git 1.7 .4-rc0))。
| 归档时间: |
|
| 查看次数: |
4663 次 |
| 最近记录: |