Git如何检索从本地和远程存储库中删除的已删除文件?

时间:2016-06-10 11:31:03

标签: git github filesystems recovery

令我惊讶的是,我们可以随时检索一次删除并用新文件覆盖的文件。 Git是否永久存储服务器上的每个文件实例?

1 个答案:

答案 0 :(得分:1)

这是我的理解。 Git将blob存储为哈希名称。文件存储为哈希列表,并通过连接由它组成的blob在工作树上创建(对于小文件,通常只有一个blob)。可以通过连接不同的blob来制作相同文件的不同版本。 Blob存储在.git目录中,只要有对它们的引用就会保留。即如果任何标记,提交,reflog,存储等包含引用blob的文件(或其他任何内容)。 'git gc'将删除超过两周的未引用的blob。