【问题标题】:How does Github store commit messages?Github 如何存储提交消息?
【发布时间】:2019-12-11 17:00:39
【问题描述】:

我正在尝试使用 git 构建一个开源版本控制系统。我想给像 Github 这样的用户提供搜索给它的用户。 就像在 Github 上一样,用户可以从文件、用户和提交中搜索所有内容。 我的问题是 Github 如何存储提交以便可以搜索?提交是否存储在某个数据库中?因为它从许多存储库中搜索提交的单个单词

我附上了一个 GitHub 的示例链接,你可以看到 200 万个提交。这个搜索是如何工作的?

sample search link

【问题讨论】:

  • Github 使用git 来存储提交和提交消息。 Github 可能会做某种索引,但我建议你先了解git 如何存储对象,然后在此基础上构建。
  • 添加到@Code-Apprentice 的评论中,git 更像是一个文件系统而不是数据库。查看 Paolo Perrotta 在 Youtube 上的 Understanding Git 了解更多信息。
  • Dave Sexton,感谢您的反馈,我知道 git 是一个文件系统。但是在文件系统中搜索和编译结果很困难。假设有 1000 个存储库,我想搜索单词“X”,因此很难进入 1000 个存储库并搜索单词 X。我相信 github 正在使用一些数据库来执行此操作。你有什么想法?
  • GitLab 是开源的,所以你可以read他们的代码。

标签: git github commit


【解决方案1】:

git 将提交、提交消息以及用于完成其工作的所有其他对象存储在项目目录中的 .git 子文件夹下。 GitHub 利用 git 来完成大部分繁重的工作。我建议您了解 git 的内部结构,然后在此基础上进行构建。

【讨论】:

  • 这不是我的问题的答案
猜你喜欢
  • 1970-01-01
  • 2012-01-11
  • 2013-08-09
  • 2011-01-25
  • 2020-12-16
  • 2022-10-13
  • 1970-01-01
  • 2022-01-12
  • 2011-10-30
相关资源
最近更新 更多