git日志限制为路径不';不显示预期的提交
我注意到git的行为,但我不理解。可通过以下方式进行克隆:git日志限制为路径不';不显示预期的提交,git,Git,我注意到git的行为,但我不理解。可通过以下方式进行克隆: git clone "git@github.com:skript-sicherheit/skript.git" 如果您导航到终端中的文件夹images,并执行git log.,它将打印以下内容: commit b1703a7542ee226535a34bd3de9aed48a7f76a8d Author: Lukas Beeck <meisterasrael@googelmail.com> Date: Wed Sep
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
[...]
提交信息是德语,意思是:“蒙娜丽莎的形象消失了,又回来了。”
显然,文件mona lisa.jpg
被b1703a7542ee226535a34bd3de9aed48a7f76a8d
更改。它甚至是它更改的唯一文件
但是如果执行git log mona lisa.jpg,这是(整个)输出:
提交669b00871f3dba5c43ac7d53e44f317a61b177d0
合并:921a31c 519cdae
作者:卢卡斯·比克
日期:2016年9月2日星期五15:39:00+0200
合并分支“索引”
为什么
b1703a7542ee226535a34bd3de9aed48a7f76a8d
没有出现在这个命令的输出中?我认为你应该像git log images/mona-lisa.jpg那样传递文件的整个路径,与其说是一个令人满意的答案,不如说是一个注释,但这个存储库中的事件序列似乎有些奇怪。据我所知,情况如下:
master | .. -> A -> B -> [E] (Mona Lisa) -> .. -> [H]
| / /
index | .. -> C -> D /
| /
seitenkanalgriffe | .. -> F (Mona Lisa) -> G
似乎出于某种原因,蒙娜丽莎图像被添加到合并提交E
;我猜可能是当时未跟踪的图像意外地出现在目录中,并被错误地添加了
它似乎有意提交的实际分支是seitenkanalgriffe
分支,它在H
之前不会合并
指定路径时的状态为:
[--]…强>
仅显示足以解释与指定路径匹配的文件是如何产生的提交。请参阅下面的历史简化
详细信息和其他简化模式
当出现混淆时,路径可能需要加前缀“`--”,以将其与选项或修订范围分开
由于此文件历史记录中的重要提交是E
,引入图像的提交和H
没有对文件进行任何更改,因此在运行git log mona lisa.jpg
时,您只会看到E
E
是您在问题中提到的带有“合并分支‘索引’”注释的提交
为了进一步混淆问题,如果使用git log--follow images/mona lisa.jpg,您将只看到commitH
,因为默认情况下它不会在merges中跟随文件。您必须运行git log--follow-m images/mona lisa.jpg才能看到提交E
和H
列表
至少,就我对这里发生的事情的理解而言,可能还有其他原因。但是,无论我询问git关于文件或目录的历史记录,在显示哪个提交方面,为什么会有区别呢。commit都不涉及目录中的任何其他内容。您似乎对映像最初是如何引入的是正确的。当硬复位到
669b0087
时,图像在那里。但当硬重设为其父级时,921a31c9
和519cdaed
,则不是。所有这些提交都来自同一个人,他似乎有意在branchseitenkanalangriffe
中引入图像,但在将branchindex
合并到master
中时意外引入了该图像,之后,当他选中seitenkanalangriffe
退出时,图像就消失了。他注意到图像消失了(可能是因为文档没有生成)并再次添加了它。如何找出哪些提交涉及到了文件?我会使用git log——根据需要使用带有标志的,但是在
commit 669b00871f3dba5c43ac7d53e44f317a61b177d0
Merge: 921a31c 519cdae
Author: Lukas Beeck <meisterasrael@googelmail.com>
Date: Fri Sep 2 15:39:00 2016 +0200
Merge branch 'index'
master | .. -> A -> B -> [E] (Mona Lisa) -> .. -> [H]
| / /
index | .. -> C -> D /
| /
seitenkanalgriffe | .. -> F (Mona Lisa) -> G