2015-04-21 59 views
10

我在做git diff,我第一次在线旁看到双加号。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%。它是否与文件重写有关?那是我犯下这件事时发生的事情。

回答

9

这些行自从上次版本以来已更新。

从手册页:

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

在上面的示例输出,函数签名是从 两个文件(因此改变2 - 来自文件1和file2清除,加++到 平均添加的一行不会出现在file1和 file2中)。还有8条其他行与file1相同,但不存在 出现在file2中(因此前缀为{plus})。

参见DIFF手册:

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

7

在比较输出中的++是从"combined diff",这是git diff默认格式表示合并时(或使用-c-cc-m选项时)

当查看合并差异,如果你正在比较的两个文件有一条线,从他们合并成是不同,你会看到++表示:

一行已添加未出现在任何文件1或文件2