我注意到this repository中我不理解的git行为。它可以通过以下方式克隆:
git clone "git@github.com:skript-sicherheit/skript.git"
如果您导航到终端中的文件夹images
并执行git log .
,则会打印出来:
commit b1703a7542ee226535a34bd3de9aed48a7f76a8d
Author: Lukas Beeck <meisterasrael@googelmail.com>
Date: Wed Sep 7 10:37:39 2016 +0200
Bild von Mona Lisa war verschwunden, ist wieder drin
commit 0e3ede155080a3005e6454d855e18dc0083ea01a
Author: Lukas Beeck <meisterasrael@googelmail.com>
Date: Fri Sep 2 10:20:25 2016 +0200
Erläuterung in Grafik eingefügt
[...]
git show b1703a7542ee226535a34bd3de9aed48a7f76a8d
打印:
commit b1703a7542ee226535a34bd3de9aed48a7f76a8d
Author: Lukas Beeck <meisterasrael@googelmail.com>
Date: Wed Sep 7 10:37:39 2016 +0200
Bild von Mona Lisa war verschwunden, ist wieder drin
diff --git a/images/mona-lisa.jpg b/images/mona-lisa.jpg
new file mode 100644
index 0000000..f4f5583
Binary files /dev/null and b/images/mona-lisa.jpg differ
提交消息是德语:“蒙娜丽莎的形象已经消失了。又回来了。”
很明显,文件mona-lisa.jpg
已由b1703a7542ee226535a34bd3de9aed48a7f76a8d
更改。它甚至是唯一被它改变的文件。
但是如果你执行git log mona-lisa.jpg
,这就是(整个)输出:
commit 669b00871f3dba5c43ac7d53e44f317a61b177d0
Merge: 921a31c 519cdae
Author: Lukas Beeck <meisterasrael@googelmail.com>
Date: Fri Sep 2 15:39:00 2016 +0200
Merge branch 'index'
为什么b1703a7542ee226535a34bd3de9aed48a7f76a8d
没有出现在此命令的输出中?
答案 0 :(得分:0)
我认为你应该传递文件的整个路径,如git log images / mona-lisa.jpg
答案 1 :(得分:0)
更多的评论而不是令人满意的答案,但看起来对于该存储库中的事件序列有些奇怪。我可以,情况就是这样:
master | .. -> A -> B -> [E] (Mona Lisa) -> .. -> [H]
| / /
index | .. -> C -> D /
| /
seitenkanalgriffe | .. -> F (Mona Lisa) -> G
似乎由于某种原因,Mona Lisa图像被添加到合并提交E
中;我猜想当时目录中的未跟踪图像可能是偶然的,并且是错误添加的。
它似乎是故意提交的实际分支是seitenkanalgriffe
分支,直到H
才合并。
指定路径时git log documentation说明:
[ - ]&lt; path&gt; ...
仅显示足以解释与指定路径匹配的文件的提交。请参阅下面的历史简化 有关详细信息和其他简化模式。
当出现混淆时,路径可能需要以“ - &#39;”为前缀,以便将它们与选项或修订范围分开。
由于此文件历史记录中的重要提交为E
,因此引入图片的提交和H
未对文件进行任何更改,因此您只会看到E
时正在运行git log mona-lisa.jpg
。 E
是&#34;合并分支&#39;&#39;&#34;&#34;您在问题中提到的评论。
为了进一步混淆,如果您使用git log --follow images/mona-lisa.jpg
,则只会看到提交H
,因为默认情况下它不会在合并中跟踪文件。您必须运行git log --follow -m images/mona-lisa.jpg
才能看到列出的提交E
和H
。
至少,我对这里发生的事情有所了解,可能还有其他事情需要责备。