检查文件的内容是否已存在于git存储库中

时间:2013-10-07 19:50:16

标签: git version-control hash

如果具有相同内容的文件已经在git版本控制下,我如何检查?

1 个答案:

答案 0 :(得分:3)

这似乎是一件很奇怪的事情(为什么不加它?)但是:

git cat-file -t $(git hash-object -t blob foo)
如果文件blob的内容尚未在回购中,则

将失败或(非常不可能)打印foo以外的内容。这让你分道扬..接下来,你必须找出是否引用了哈希ID(即,它不是悬空blob),如果是,则通过什么引用。它可能由索引引用(仅在某些提交中存在于某个树中)。要查看它是否在提交中的树中,请将repo克隆到--bare克隆(如果它还不是),并查看该ID是否(仍然)有效。