40

我想知道是否可以将一定数量的未解析内容添加到作为注释被忽略的差异文件(统一)中。

一个很好的用途是让 git diffs 增加重要信息,例如差异来自哪个分支(特别是在使用 --full-index 选项时,它只显示 blob 引用)。

4

3 回答 3

62

统一差异以两行标题开头:

 --- from-file from-file-modification-time
 +++ to-file to-file-modification-time

忽略此标头之前的任何内容,因此您可以在此处添加任何注释,例如:

 This may be some useful description of this patch that
 will be ignored by the diff/patch utility.
 --- a/foo  2002-02-21 23:30:39.942229878 -0800
 +++ b/foo  2002-02-21 23:30:50.442260588 -0800
 @@ -1,7 +1,6 @@
 -The Way that can be told of is not the eternal Way;
 -The name that can be named is not the eternal name.
  The Nameless is the origin of Heaven and Earth;
 -The Named is the mother of all things.
 +The named is the mother of all things.
 +
  Therefore let there always be non-being,
    so we may see their subtlety,
  And let there always be being,

Git 本身在一些元数据的标头之前使用这个空间,例如:

diff --git a/foo b/foo
index 59a4d1f..e48dfe7 100644
--- a/foo
+++ b/foo
于 2014-01-03T19:38:43.273 回答
15

您可以在 diff 文件中#代替-或使用+内联注释(可由 GNU 补丁识别),或在 @JakubJirutka 提到的开头添加注释

 This may be some useful description of this patch that
 will be ignored by the diff/patch utility.
 --- a/foo  2002-02-21 23:30:39.942229878 -0800
 +++ b/foo  2002-02-21 23:30:50.442260588 -0800
 @@ -1,7 +1,6 @@
 # comments on the deletion of the two lines
 -The Way that can be told of is not the eternal Way;
 -The name that can be named is not the eternal name.
  The Nameless is the origin of Heaven and Earth;
 -The Named is the mother of all things.
 +The named is the mother of all things.
 +
  Therefore let there always be non-being,
    so we may see their subtlety,
  And let there always be being,
于 2015-11-22T23:53:37.903 回答
6

同一行上@@ 之后的任何内容也将被忽略。

 --- a/foo  2002-02-21 23:30:39.942229878 -0800
 +++ b/foo  2002-02-21 23:30:50.442260588 -0800
 @@ -1,7 +1,6 @@ THIS IS A COMMENT THAT WILL BE IGNORED
 -The Way that can be told of is not the eternal Way;
 -The name that can be named is not the eternal name.
  The Nameless is the origin of Heaven and Earth;
 -The Named is the mother of all things.
 +The named is the mother of all things.
 +
  Therefore let there always be non-being,
    so we may see their subtlety,
  And let there always be being,
于 2016-04-15T17:45:37.310 回答