【发布时间】:2011-12-20 13:59:25
【问题描述】:
情况是这样的:在工作中,我们有很多分支,但我们没有让 repo 保持应有的整洁,偶尔会添加/删除大文件或诸如此类的东西,并且很少删除死分支。
所以今天是下雪天,我必须在家工作。我的 VPN 连接速度很慢,我所需要的只是以最快的方式到达我关心的分支并开始工作,并且能够将提交推回。
在 SVN 中,我只需更新所需的路径/文件,就可以立即工作。像大多数 git 新手一样,我只有少数几个受信任的命令,而且我的备用 git clone 或 git pull 会太慢。
所以这似乎是一个两部分的问题:
- 如何克隆存储库以尽快开始工作,以及
- 如何从这个 repo 中拉取/推送(编辑、提交、拉取、推送)
可行的解决方案(根据@g19fanatic 的以下建议):
> git clone -b <branchname> <repo_url> --depth=1
remote: Counting objects: 16679, done.
remote: Compressing objects: 100% (11926/11926), done.
remote: Total 16679 (delta 6936), reused 10919 (delta 3337)
Receiving objects: 100% (16679/16679), 628.12 MiB | 430 KiB/s, done.
Resolving deltas: 100% (6936/6936), done.
> git pull
Already up-to-date.
(在其他机器上进行小改动,提交/推送)
> git pull
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 0), reused 0 (delta 0)
太好了,这给我留下了一个工作回购。
唯一的问题是它最初传输的数据量是下面failed attempts 的两倍,但它确实使存储库处于可用状态。我会认为这已得到解答,但我认为初始传输大小可能会有所改进。
【问题讨论】:
-
今天仍然是一个相关问题!但是,确实,仍然不是一个好的答案。我的仓库很整洁,我的连接更糟糕,我只需要更好的异步操作!此外,这可以通过遵循站点标准来大大改善......只需将 cmets 和答案留在它们所属的地方。