0

我正在尝试下载GCC Git 存储库,由于可用速度有限,下载需要花费太多时间。我只想知道是否可以部分下载 repo。

我已经阅读了许多与下载单个文件夹或部分 repo 相关的文章和问题。但是没有找到任何关于部分下载 repo 的文章或问题。因此,我可以同时拥有所有可用的提交,并且 Git 可以更新未来的提交。

4

3 回答 3

3

您可以尝试使用 --depth 选项下载截断的历史记录:

--depth <depth>
       Create a shallow clone with a history truncated to the specified number of
       revisions. A shallow repository has a number of limitations (you cannot clone or
       fetch from it, nor push from nor into it), but is adequate if you are only
       interested in the recent history of a large project with a long history, and
       would want to send in fixes as patches.

如果您只想要文件,请执行以下操作:

git clone --depth 1 <repo>
于 2013-03-14T06:23:21.713 回答
1

如果您阅读了如何在连接不稳定的情况下为大型项目完成 git clone?你会发现现在真的不可能。他们提出了一些解决方法,但没有保证。

但是,如果 GCC 有一个SVN 存储库,您可以按照此处的说明使用git-svn通过提交获取 SVN 的内容提交:

$ git svn -s clone svn://gcc.gnu.org/svn/gcc
Initialized empty Git repository in /home/desert69/gcc/.git/
r1 = b0439281e5f21d7567489ac582f45adfb813d332 (refs/remotes/trunk)
    A   gcc/config/m68k/xm-3b1.h
r2 = b24dd970fa8d03c1df555c4d771fa3dee00918de (refs/remotes/trunk)
    A   gcc/typeclass.h
r3 = 81e937b24b79225c9a61890f72737eba914dde22 (refs/remotes/trunk)
    A   gcc/config/m68k/x-apollo68
r4 = 0d9f9c476899983566408ee3698f097fa9d4ef5a (refs/remotes/trunk)
^C
$ cd gcc/
$ git svn fetch
    A   gcc/config/pyr/x-pyr
r5 = ff3c8016a7b2261c8df6c2564e76ad164b5a1a4a (refs/remotes/trunk)
    A   gcc/config/m68k/xm-crds.h
r6 = ff54129791033b73ffa49d12ec7802ca9b3010ea (refs/remotes/trunk)
(... goes on ...)

遗憾的是svn,它比 更容易git,但是,就是这样。

于 2013-03-14T04:49:29.927 回答
0

最简单的可能是启动一个 ec2 实例,在那里克隆 repo 并使用 rsync 提供它。即使您已使用免费微实例年,需求微实例为 0.05 美元/小时,其基准 8GB 磁盘为 0.88 美元/月,并且流量可能适合免费 GB(之后为 0.12 美元/GB 出站)。即使你花了一个星期去取,那加起来也不到十块钱。

于 2013-03-14T08:23:46.967 回答