有没有一种方法可以有效地读取Git中以前版本的文件? (我使用Git作为内容管理系统的数据库,并且需要它显示历史记录)。如果你需要以前的版本 - 你不能只是从磁盘读取它,你应该让Git使用差异来计算它。性能高效的Git历史
看来,GitHub莫名其妙,例如,你可以看到previous version of file。它是否真的为每个HTTP请求计算它或以某种方式优化它?
有没有一种方法可以有效地读取Git中以前版本的文件? (我使用Git作为内容管理系统的数据库,并且需要它显示历史记录)。如果你需要以前的版本 - 你不能只是从磁盘读取它,你应该让Git使用差异来计算它。性能高效的Git历史
看来,GitHub莫名其妙,例如,你可以看到previous version of file。它是否真的为每个HTTP请求计算它或以某种方式优化它?
错误:git总是存储完整版本的文件。因此查看任何修订同样有效。
这与仅存储差异(补丁)的其他修订系统形成鲜明对比。出于这个原因(对于拥有许多用户的大型存储库),对于访问深层历史记录或非主干分支而言,Cvs特别可怕。
作为参考,为了方便访问一个特定的文件在特定版本(SHA /参考):
git show HEAD:full/path/to/file
与标签,分支或git的SHA(长十六进制数替换头部)
路径是相对于git存储库基础的完整路径 - 而不是文件系统根目录。我只提到这一点,因为它已经咬了我几次 - 你不能cd
进入一个目录,并期望不指定完整的路径。
维基百科(全部是真实和良好的家庭)备份我:
如果维基百科是不是你的包,git internals manual仔细阅读也验证它。
这并非完全正确。打包回购时,git会将文件存储在diff中,但您不应该担心这些:)。 – Chronial