2015-04-21 60 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