Performance 性能高效的Git历史记录

Performance 性能高效的Git历史记录,performance,git,Performance,Git,有没有一种方法可以有效地读取Git中以前版本的文件?(我使用Git作为内容管理系统的数据库,需要它显示历史记录) Git不存储文件的完整版本,它只存储差异,所以,如果您需要以前的版本,您不能只从磁盘读取它,您应该让Git使用差异来计算它 例如,您可以看到,GitHub似乎以某种方式做到了这一点。它真的为每个HTTP请求计算它还是以某种方式优化它?勘误:git总是存储文件的完整版本。因此,查看任何修订都同样有效 这与一些仅存储差异(补丁)的其他修订系统形成了明显的对比。由于这个原因(对于一个有许多

有没有一种方法可以有效地读取Git中以前版本的文件?(我使用Git作为内容管理系统的数据库,需要它显示历史记录)

Git不存储文件的完整版本,它只存储差异,所以,如果您需要以前的版本,您不能只从磁盘读取它,您应该让Git使用差异来计算它


例如,您可以看到,GitHub似乎以某种方式做到了这一点。它真的为每个HTTP请求计算它还是以某种方式优化它?

勘误:git总是存储文件的完整版本。因此,查看任何修订都同样有效

这与一些仅存储差异(补丁)的其他修订系统形成了明显的对比。由于这个原因(对于一个有许多用户的大型存储库),Cvs访问深层历史或非主干分支尤其糟糕


为了方便访问特定版本的特定文件(sha/reference),请参考:

用标签、分支或git sha(长十六进制数)替换头部

路径是相对于git存储库基础的完整路径,而不是文件系统根。我之所以提到这一点,是因为它已经咬了我好几次了,你不能
cd
进入一个目录,而期望不指定完整路径


维基百科(所有真实和美好事物的家园)支持我:


如果Wikipedia不是你的包,仔细阅读也可以验证它。

勘误表:git总是存储文件的完整版本。因此,查看任何修订都同样有效

这与一些仅存储差异(补丁)的其他修订系统形成了明显的对比。由于这个原因(对于一个有许多用户的大型存储库),Cvs访问深层历史或非主干分支尤其糟糕


为了方便访问特定版本的特定文件(sha/reference),请参考:

用标签、分支或git sha(长十六进制数)替换头部

路径是相对于git存储库基础的完整路径,而不是文件系统根。我之所以提到这一点,是因为它已经咬了我好几次了,你不能
cd
进入一个目录,而期望不指定完整路径


维基百科(所有真实和美好事物的家园)支持我:


如果维基百科不是你的书包,仔细阅读一下也能证明这一点。

这并不完全正确。打包回购时,git将文件存储在diff中,但您不必担心:)。这并非完全正确。打包repo时,git将文件存储在diff中,但您不必担心:)。
git show HEAD:full/path/to/file