git浅克隆与分支

时间:2012-09-18 10:32:27

标签: git branch clone shallow-copy shallow-clone

我必须处理包含一些二进制文件的git仓库。

如果有人能向我解释,我真的很感激

>git clone --depth 1 -- ssh://git/foo/bar.git test_d
Cloning into 'test_d'...
remote: Counting objects: 289, done.
remote: Compressing objects: 100% (268/268), done.
remote: Total 289 (delta 111), reused 120 (delta 19)
Receiving objects: 100% (289/289), 1.95 MiB | 519 KiB/s, done.
Resolving deltas: 100% (111/111), done.

>git clone --depth 1 -b master -- ssh://git/foo/bar.git test_db
Cloning into 'test_db'...
remote: Counting objects: 5980, done.
remote: Compressing objects: 100% (1777/1777), done.
remote: Total 5980 (delta 3868), reused 5657 (delta 3660)
Receiving objects: 100% (5980/5980), 36.50 MiB | 1.10 MiB/s, done.
Resolving deltas: 100% (3868/3868), done.

>git clone -b master -- ssh://git/foo/bar.git test_b
Cloning into 'test_b'...
remote: Counting objects: 6953, done.
remote: Compressing objects: 100% (1779/1779), done.
remote: Total 6953 (delta 4419), reused 6946 (delta 4417)
Receiving objects: 100% (6953/6953), 57.25 MiB | 1.15 MiB/s, done.
Resolving deltas: 100% (4419/4419), done.

也就是说,为什么当传递 -b 时,它似乎正在改变 - 深度的行为?

3 个答案:

答案 0 :(得分:0)

嗯,我想我找到了相关问题的解决方案:Partial clone with Git and Mercurial

> md test_foo
> cd test_foo
> git init
> git remote add origin ssh://git/foo/bar.git
> git config --local remote.origin.fetch +refs/heads/master:refs/remotes/origin/master
> git pull --depth 1
remote: Counting objects: 289, done.
remote: Compressing objects: 100% (268/268), done.
remote: Total 289 (delta 111), reused 120 (delta 19)
Receiving objects: 100% (289/289), 1.95 MiB | 496 KiB/s, done.
Resolving deltas: 100% (111/111), done.
From ssh://git/foo/bar.git
 * [new branch]      master     -> origin/master

但这似乎不是解决方案; /

答案 1 :(得分:0)

而不只是git clone <url>

使用git clone -b <branch> <url> --depth=1

见这里:quickly-clone-a-large-git-repo这是我的参考。

答案 2 :(得分:0)

  1. 浅层克隆存储库

    git clone --depth [number_of_commits] [url_of_remote]

  2. 克隆一个分支

    git clone [url_of_remote] --branch [branch_name] --single-branch

  3. http://www.sitepoint.com/managing-huge-repositories-with-git/