2009-08-18 10 views

Odpowiedz

7

git clone zawsze klonuje kompletny repozytorium, chyba że podasz parametr --depth <n> co ogranicza repozytorium do najnowszych n wersjami (tzw „płytkie clone”).

Można jednak utworzyć lokalne repozytorium i użyć git fetch do pobierania tylko części zdalnego repozytorium.

cd /path/foo 
git init 
git remote add origin <some url> 
git fetch origin <some branch> 

To duplikat większość co git clone ma jednak ograniczać go do oddziału (ach) określonej w wierszu poleceń. (Nie jestem pewien co do dalszych szczegółów, takich jak śledzenie oddziałów i tagów itp.).

2

Twój tytuł pytania i podsumowanie są rodzaju zadającego dwa różne pytania, ponieważ, jak zauważył Bombe, klon zawsze dostaje całą zawartość, chyba że używasz użyj opcji --depth.

Nie jestem pewien, co naprawdę chcą jednak inna opcja jest do klonowania z flagą --no-checkout (lub -n). Domyślnie git spowoduje pobranie domyślnej gałęzi repozytorium (która jest określona przez odniesienie HEAD w zdalnym repozytorium - nie zawsze jest to master). Jeśli użyć flagi -ngit nie będzie kasy oddziału dla ciebie więc można po prostu kasy co chcesz:

git clone -n <some url> foo 
cd foo 
git checkout <some branch> 
Powiązane problemy