1

如果我可以通过以下方式使用 git 进行存储库浏览,我很感兴趣:

给定一个远程存储库 - 在开始时仅获取有关某个修订的目录结构的数据 - 考虑到先前获得的知识,根据选择单独获取文件

例如(假命令仅用于说明意图):

git clone --dont_get_me_repo_contents_please // 关于文件内容的信息在某处,我看到 my/cool/file 和其他人一起 git get my/cool/file

假设我不会拥有该服务器(存储远程存储库的服务器)。我只能通过 git 客户端与之交互。

我只想使用尽可能少的网络传输和尽可能少的空间。

基本上,您在 github 上所做的事情,当您查看修订文件时,您会看到目录,然后单击文件并获得这些内容。通过网络发送的唯一信息是目录结构和您正在查看的文件的内容。我假设它正在与服务器上的 git repo 交互。现在它是怎么做到的?

我不想要这样做的东西,也许只是作为一个例子,我想知道这是如何完成的。

我做了一些阅读,我觉得答案是否定的,这不能以这种形式完成。是不是一个人无法做到这一点而需要在某个地方进行检查修订?如果是这样,考虑到我的目标(使用尽可能少的网络流量,次要 - 尽量减少空间),我最好的选择是什么。

如果我对 git 术语的使用是滥用的,我很抱歉(这里是 n00b)。我希望我能理解这个想法。

编辑: MERCURIAL 呢?这些事情可以用它来完成吗?

谢谢。

4

1 回答 1

2

您可以从浅 git clone 开始(例如,历史上只有 1 个修订版):

git clone --depth 1
于 2012-08-22T23:56:17.133 回答