git commit --cleanup = whitespace究竟做了什么?

时间:2013-05-15 15:29:14

标签: git whitespace

'git commit --cleanup = whitespace'做什么?我试图测试它,但我无法弄清楚预期的行为是什么(它的git文档只是一行)。 如果我添加它,并且有人拉我的代码,他们会收到中间空白行为零的源代码吗?

2 个答案:

答案 0 :(得分:3)

不,它仅用于您的提交消息,而不是您的源代码。

default模式是清除评论(以#开头的行)以及前导和结束空行。 whitespace模式保留了评论。

答案 1 :(得分:2)

Git 1.9.x / 2.0(2014年第2季度)将有另一种替代空白的方法:清理模式“scissors”。

commit 75df1f4引用Nguyễn Thái Ngọc Duy (pclouds)new git commit --cleanup documentation

scissors
  

whitespace相同,但除了(包括)行

之外的所有内容
# ------------------------ >8 ------------------------
  如果要编辑邮件,

将被截断   可以使用#自定义“core.commentChar”。

因此,您仍然可以保留评论,并删除超过某个预定义行的所有内容。


2015年7月更新Git 2.5:这款剪刀现在更加强大了。

commit fbfa097SZEDER Gábor (szeder)(2015年6月9日) 帮助:Junio C Hamano (gitster)
Junio C Hamano -- gitster --commit 07528be中合并,2015年6月24日)

  

git commit --cleanup=scissors”不够小心保护   反对被一条看起来像剪刀的线愚弄。


2019年5月更新,即将推出的Git 2.22(2019年第二季度):
结束时编辑器中显示的冲突路径列表 当剪刀线在剪刀线上方显示出冲突的合并 清理模式设置为“剪刀”,即使它被评论 就像更新的路径列表和其他信息一样 帮助用户更好地解释合并。

请参阅commit 1a2b985commit 1055997commit d540b70commit ca04dc9commit f29cd86commit 94ca361commit b720e1e,{{3} },commit 5caab8d(2019年4月17日)commit b510f0b 帮助:Denton Liu (Denton-L)
Phillip Wood (phillipwood)commit dc42e9a(2019年4月17日) 帮助:Phillip Wood (phillipwood)
(由Phillip Wood (phillipwood)合并于Junio C Hamano -- gitster --,2019年5月8日)

  

cherry-pick/revert:在合并冲突上添加剪刀线

     

修复在Conflicts:部分之后放置剪刀线的错误,如果发生合并冲突并commit.cleanup = scissors