[英]How to access source code files and list directories using GitLab API?
[英]How Github or any other cloud based repository services(Gitlab, Bitbucket) store source code files and directories?
它们是否将文件和目录的元数据存储在数据库中以及服务器实例的文件系统上的实际文件和目录?
它应该在光秃的存储库中 。
但这取决于您正在谈论的Git存储库服务器的规模 。
例如, GitHub正在使用DGit
DGit是“ 分布式Git。 ”
正如许多读者已经知道的那样,Git本身是分布式的-Git存储库的任何副本都包含项目整个历史中的每个文件,分支和提交。
DGit使用Git的此属性在三个不同的服务器上保留每个存储库的三个副本。
DGit的设计可确保存储库完全可用,即使其中一台服务器出现故障也不会中断 。 即使在极端情况下,一个存储库的两个副本无法同时使用,该存储库仍可读取; 也就是说,抓取,克隆和大多数Web UI继续起作用。
关键是:您不能只存储裸仓库而不处理其余仓库:
master
分支或所有分支中搜索(请参阅“ 如何在GitHub上搜索提交消息? ”):目前(2017年)仅支持master
分支。 所有这些甚至都没有考虑到托管服务器建议的所有服务和元数据(项目,Wiki,问题等)。 例如,请参阅“ 将持久性数据从Redis中移出 ”,以了解所构成的技术挑战。
那只是GitHub。 BitBucket和GitLab都有自己的技术挑战和解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.