7

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

4

2 回答 2

5

不,它只是为了你的提交信息,而不是为了你的源代码。

default模式是清理注释(以 # 开头的行)以及引导和结束空行。whitespace模式是保留评论。

于 2013-05-15T15:33:18.310 回答
4

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

它是由Nguyễn Thái Ngọc Duy ( )的commit 75df1f4文档介绍的:pcloudsgit commit --cleanup

scissors

与 相同whitespace,除了来自(包括)该行的所有内容

# ------------------------ >8 ------------------------

如果要编辑消息,则被截断。
" #" 可以自定义core.commentChar

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


2015 年 7 月更新 Git 2.5:这把剪刀现在更健壮了。

请参阅SZEDER Gábor ( )的提交 fbfa097(2015 年 6 月 9 日) 。 帮助者:Junio C Hamano ( )(由Junio C Hamano 合并 -- --提交 07528be中,2015 年 6 月 24 日)szeder
gitster
gitster

git commit --cleanup=scissors“没有足够小心以防止被看起来像剪刀的线所欺骗。


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

请参阅Denton Liu ( )的提交1a2b985、提交1055997提交 d540b70提交 ca04dc9提交 f29cd86提交 94ca361提交 b720e1e提交 5caab8d提交 b510f0b(2019 年 4 月 17 日) 。 帮助者:菲利普伍德 ( )。 请参阅Phillip Wood ( )提交的 dc42e9a(2019 年 4 月 17 日) 。 帮助者:菲利普伍德 ( )(由Junio C Hamano 合并 -- --Denton-L
phillipwood
phillipwood
phillipwood
gitster提交 b877cb4,2019年 5 月 8 日)

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

修复了在Conflicts:发生合并冲突和commit.cleanup = scissors.

于 2014-03-26T07:00:19.230 回答