1

每次我diff使用 Git 时,我都会看到块标题旁边有一些垃圾文本。

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 语句存在于每个块头上,而不仅仅是一个。我可能还应该提到,这只发生在一个特定的分支上。这可能是什么原因?更重要的是,我该如何解决这个问题?

4

2 回答 2

2

从所有差异/补丁工具的角度来看,这只不过是一种噪音或评论——它被所有其他工具完全忽略了。

然而,在实践中,对于大多数源代码 git 工具,如 git diff 在此处生成包含此更改的函数名称。也就是说,只要看一下commit diff,就可以很快的知道这个commit涉及到了什么函数。

在您的情况下,它看起来不像函数名称,但可能只是因为git diff没有针对处理 javascript 文件进行优化,并且不知何故感到困惑。

我认为你不必担心这一点。如果你真的这么倾向,试着看看这条线是否从第一个位置开始并缩进它,所以从 git 的角度来看它不像函数名。

于 2013-01-08T06:15:04.353 回答
1

diff具有尝试根据源文件语言识别差异所在的功能的代码。这里决定,由于一些糟糕的启发式或奇怪格式的源代码,该函数被命名为sessionStorage.removeItem('a');. 在实践中,我发现这个特性除了 C 以外的任何东西都不能很好地工作,但你可能会找到一种方法来改变它,方法是传递--show-function-line给 diff 命令,或者diff.xfuncname在某个地方的某个 git config 中。

于 2013-01-08T06:18:51.153 回答