2013-01-08 70 views
0

每次我用Git做diff時,都會發現在chunk頭部旁邊有一些垃圾文本。Git Chunk Header旁邊的垃圾文本

diff --git a/filename.php b/filename.php 
index ddfe2f6..2209bdc 100644 
--- a/filename.php 
+++ b/filename.php 
@@ -654,9 +654,7 @@ sessionStorage.removeItem('a'); <-- This is what I'm talking about 

JavaScript語句在每個塊頭上都有,而不僅僅是一個。我也許應該提到這隻發生在一個特定的分支上。這可能是什麼原因?更重要的是,我該如何解決這個問題?

回答

2

從所有的差異/補丁工具的角度來看,這只不過是一個噪音或評論 - 它被所有其他工具完全忽略。

然而,在實踐中對於大多數源代碼的git工具,如git diff生成此處包含此更改的函數名稱。換句話說,通過查看commit diff,您可以快速判斷此提交所觸及的功能。

在你的情況下,它看起來不像函數名稱,但可能只是因爲git diff沒有優化來處理JavaScript文件,並以某種方式感到困惑。

我不認爲你需要關心這一點。如果你真的如此傾向,試着看看這一行是否從第一位開始並縮進,所以它從git的角度看起來不像函數名。

+0

嗯,縮進它並沒有做任何事情。但是,這並不重要。我只是認爲我在使用Git時弄錯了某個地方,而這是由它引起的。 –

1

diff有代碼嘗試根據源文件語言識別diff在哪個函數內。在這裏,由於一些不好的啓發式或奇怪格式的源代碼,決定將該函數命名爲sessionStorage.removeItem('a');。在實踐中,我發現這個功能對於除C以外的任何其他功能都無法正常工作,但是您可能會找到一種方法將--show-function-line傳遞給diff命令,或者在某些git配置中傳遞diff.xfuncname