LINUX.ORG.RU

Git можно ли склонировать только определенную ветку, а не весь репориторий?

 ,


0

4

хотелось узнать, что бы не качать весь реп можно ли склонировать только одну ветку, скажем в репе ядра линукс склонировать только определенную версию и т.д. ???

★★

хотелось узнать, что бы не качать весь реп

Не весь, но и экономия, скорее всего, не такая, как ожидаешь:

$ git clone --branch rpi-4.6.y --depth 1 git://github.com/raspberrypi/linux.git linux-bd1.git
Cloning into 'linux-bd1.git'...
remote: Counting objects: 57444, done.
remote: Compressing objects: 100% (54397/54397), done.
remote: Total 57444 (delta 4706), reused 17879 (delta 2206), pack-reused 0
Receiving objects: 100% (57444/57444), 153.84 MiB | 4.55 MiB/s, done.

$ git clone git://github.com/raspberrypi/linux.git linux-full.git
Cloning into 'linux-full.git'...
remote: Counting objects: 4993982, done.
remote: Compressing objects: 100% (2314/2314), done.
remote: Total 4993982 (delta 1618), reused 178 (delta 178), pack-reused 4991482
Receiving objects: 100% (4993982/4993982), 1.43 GiB | 4.94 MiB/s, done.

Там 32 ветки, а пришлось загрузить тем не менее даже чуть больше 10-ой части репы (154 MiB / 1.43 GiB).

gag ★★★★★
()
Ответ на: комментарий от gag

ну там же некоторые файлы линкуются если не были изменеены... по ентому и разница такая

safocl ★★
() автор топика
Ответ на: комментарий от avsej

Основная - да.

Кстати, одна ветка без истории потянула 154 MiB, а зачем так много? Ведь достаточно было бы и 90:

$ tar cJ --exclude=.git -f linux-bd1.git.tar.xz linux-bd1.git
$ du -sh linux-bd1.git.tar.xz
90M	linux-bd1.git.tar.xz

Для полноты картины:

$ git clone --no-single-branch --depth 1 git://github.com/raspberrypi/linux.git linux-nsbd1.git            
Cloning into 'linux-nsbd1.git'...
remote: Counting objects: 321057, done.
remote: Compressing objects: 100% (187946/187946), done.
remote: Total 321057 (delta 227487), reused 195173 (delta 130433), pack-reused 0
Receiving objects: 100% (321057/321057), 343.04 MiB | 5.56 MiB/s, done.
Вот, загрузили все 32 ветки без истории - это 343 MiB / 1.43 GiB.

gag ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.