在git show commit中/ dev / null的重要性是什么?

时间:2015-04-12 16:53:41

标签: git

--- /dev/null通过git show commit输出表示什么?

这是一个新文件的添加,所以我假设它没有删除任何内容,但为什么引用/dev/null

$ git show a395a
commit a395a7bb4abcc606022ac14a07794b2d3c18bd5b
Author: David Banks <BanksySan@googlemail.com>
Date:   Sun Apr 12 17:41:08 2015 +0100

    My first commit.

diff --git a/test.txt b/test.txt
new file mode 100644
index 0000000..e965047
--- /dev/null
+++ b/test.txt
@@ -0,0 +1 @@
+Hello

2 个答案:

答案 0 :(得分:10)

这意味着因为test.txt是一个新文件,在显示的差异中,它被比作“无”; “file”/ dev / null。

答案 1 :(得分:6)

你可以从Git本身的最开始就找到这种约定(差异对#34;没有文件&#34;)。

目标是更像cg-patch Linux工具,它从文件,输入或提交中应用补丁。

commit 2f97813,Git 0.99,2005年4月:

  

diff-cache和朋友输出更多cg-patch友好。

     

这改变了构建diff的默认参数的方式   使用-p调用diff-cache和friends,但没有   GIT_EXTERNAL_DIFF环境变量。
  它试图通过以下方式更加友好cg-patch

     
      
  • 显示针对/dev/null的差异以表示添加或删除的文件;
  •   
  • 将现有文件的文件模式显示为diff标签后的注释。
  •