git diff中的两个加号是什么意思?

时间:2015-04-21 14:01:55

标签: git

我正在做git diff并且第一次看到线旁边有双加号。

++        if ($field_name == $selected) {
++
++        echo "field_type: {$field['type']}\n";
++        echo "field_name: {$field_name}\n";
++
++        foreach ( $node->$field_name as $language => $value ) {

这是什么意思?我用Google搜索,this result并没有真正解释它。我看了man,我发现的一个例子似乎也解释不了:

3. It is followed by two-line from-file/to-file header

               --- a/file
               +++ b/file

           Similar to two-line header for traditional unified diff format, /dev/null is used to signal created or deleted files.

这是什么意思?我对文件进行了大于先前版本50%的更改。是否与文件重写有关?这就是我承诺时发生的事情。

2 个答案:

答案 0 :(得分:15)

自上一版本以来添加了这些行。

从手册页:

- static void describe(char *arg)
 -static void describe(struct commit *cmit, int last_one)
++static void describe(char *arg, int last_one)
  

在上面的示例输出中,函数签名已更改为   两个文件(因此两个 - 从file1和file2删除,加上++到   意味着添加的一行不会出现在file1和   文件2)。另外八个来自file1的行是相同的但不是   出现在file2中(因此以{plus}为前缀)。

参见diff manual:

https://www.kernel.org/pub/software/scm/git/docs/v1.7.3/git-diff.html

答案 1 :(得分:9)

差异输出中的++来自"combined diff",这是git diff显示合并时的默认格式(或使用-c-cc }或-m选项)

在查看组合差异时,如果您要比较的两个文件的行与他们合并的不同,那么您会看到++代表:

  

添加的一行未出现在file1或file2