2013-05-15 72 views
3

'git commit --cleanup = whitespace'做什麼?我試圖測試它,但我無法弄清楚預期的行爲是什麼(它的git文檔只是一行)。 如果我添加它,並有人拉我的代碼,他們會收到一個源代碼與零空白線之間?git commit --cleanup = whitespace是做什麼的?

+0

基於'whitespace',你很快就會有'scissors'清理模式。看到[我的回答如下](http://stackoverflow.com/a/22653722/6309) – VonC

回答

3

不是,它只是爲您的提交信息,而不是您的源代碼。

default模式正在清洗註釋符(以#開頭的行)以及前導和結束的空行。 whitespace模式正在保留評論。

+0

哦。在Git中處理源代碼中的空白的最佳方式是什麼?只要確保每個開發人員手動執行此操作,或者Git是否提供了一些幫助工具? – darksky

+0

您可以在構建鏈中使用格式器來照顧它。你可以依靠Git來做一些事情,請參閱Pro Git中的格式化和空白http://git-scm.com/book/ch7-1.html – cexbrayat

2

Git 1.9.x/2.0(Q2 2014)將會有另一種替代空白的方法:清理模式「scissors」。

它是由Nguyễn Thái Ngọc Duy (pclouds)commit 75df1f4引入,並且所述new git commit --cleanup documentation

scissors 

whitespace,不同之處在於一切從(幷包括)行

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

如果要編輯的消息將被截斷。
#」可以用core.commentChar定製。

因此,您仍然可以保留評論,並刪除過去某個預定義行的所有內容。


更新七月2015 Git 2.5:現在這個剪刀更加強大。

請參閱commit fbfa097(2015年6月9日)作者:SZEDER Gábor (szeder)
已幫助:Junio C Hamano (gitster)
(由Junio C Hamano -- gitster --commit 07528be合併,2015年6月24日)

git commit --cleanup=scissors」不夠細心保護 對抗,看上去像剪刀線得到上當。

相關問題