【发布时间】:2019-12-11 17:00:39
【问题描述】:
我正在尝试使用 git 构建一个开源版本控制系统。我想给像 Github 这样的用户提供搜索给它的用户。 就像在 Github 上一样,用户可以从文件、用户和提交中搜索所有内容。 我的问题是 Github 如何存储提交以便可以搜索?提交是否存储在某个数据库中?因为它从许多存储库中搜索提交的单个单词
我附上了一个 GitHub 的示例链接,你可以看到 200 万个提交。这个搜索是如何工作的?
【问题讨论】:
-
Github 使用
git来存储提交和提交消息。 Github 可能会做某种索引,但我建议你先了解git如何存储对象,然后在此基础上构建。 -
添加到@Code-Apprentice 的评论中,git 更像是一个文件系统而不是数据库。查看 Paolo Perrotta 在 Youtube 上的 Understanding Git 了解更多信息。
-
Dave Sexton,感谢您的反馈,我知道 git 是一个文件系统。但是在文件系统中搜索和编译结果很困难。假设有 1000 个存储库,我想搜索单词“X”,因此很难进入 1000 个存储库并搜索单词 X。我相信 github 正在使用一些数据库来执行此操作。你有什么想法?
-
GitLab 是开源的,所以你可以read他们的代码。