有以下日志:
$ git log
commit d335ed918ecadec2152152f76fd3c99dc59de80b
Author: author <author@email.com>
Date: Wed Feb 29 18:45:48 2012 +0100
a
commit ed937db6bb2350e37ffb1d0e2e4141ec4e650bcf
Author: author <author@email.com>
Date: Wed Feb 29 18:45:22 2012 +0100
a
commit 87dde7bc9fc081388b824f7e74267485fcc4edb0
Author: author <author@email.com>
Date: Wed Feb 29 17:26:49 2012 +0100
init
$ git diff ed937db6bb2350e37ffb1d0e2e4141ec4e650bcf d335ed918ecadec2152152f76fd3c99dc59de80b --full-index
diff --git a/a.cpp b/a.cpp
index f0df46dd3ce8569533dce862927c1b84cec41c04..0fe7d3905febc2c4abb08849bef266c093f6caca 100755
--- a/a.cpp
+++ b/a.cpp
@@ -1 +1 @@
-class A{};
+class A{}fdfds;
的问题是,的 ed937db6bb2350e37ffb1d0e2e4141ec4e650bcf 改变为 f0df46dd3ce8569533dce862927c1b84cec41c04 和 d335ed918ecadec2152152f76fd3c99dc59de80b 改变为 0fe7d3905febc2c4abb08849bef266c093f6caca 当由git的差异的处理。如何使这些值不变并保持不变?
答案 0 :(得分:1)
正如消息中所述,f0df46d...
&amp; 0fe7d39...
是Git index中的引用,它们用于这些提交中的实际文件。如果你的差异中列出了多个文件,那么它们将具有不同的索引SHA。
答案 1 :(得分:0)
我相信你所看到的是提交对象索引:
> ed937db6bb2350e37ffb1d0e2e4141ec4e650bcf d335ed918ecadec2152152f76fd3c99dc59de80b
和文件对象索引
diff --git a/a.cpp b/a.cpp
index f0df46dd3ce8569533dce862927c1b84cec41c04..0fe7d3905febc2c4abb08849bef266c093f6caca
如果你的提交包含多个文件,你会看到多行。总而言之,您不能使这些索引行显示提交,因为它们正在区分提交中更改的各种文件,从而向您显示适用于“索引”行的文件的哈希,而不是提交。