2013-05-26 11 views
5

Używam repozytorium git używającego the git-flow branching model. Popchnąłem to do centralnego repozytorium. W jaki sposób nowy programista dołączający do projektu może go sklonować?Jak sklonować repozytorium git-flow w stylu git?

Klonowanie repozytorium daje tylko gałąź master. W jaki sposób nowy programista może uzyskać oddział develop, a także wybrane gałęzie funkcji?

+5

_Konkulacja repozytorium daje tylko gałąź master._ - to jest fałsz, klon jest kompletnym klonem. 'git branch -a' wyświetli wszystkie gałęzie. – 1615903

+0

Ponieważ polecenie 'git branch' wyświetlało tylko gałąź' master', założyłem, że jest to tylko klonowana gałąź master. Mój błąd. –

Odpowiedz

7

Jak user1615903 already pointed out, prosty

git clone <remote repo url> 

będzie już daje wszystkie oddziały ze zdalnego repo, w tym master i develop. Możesz zobaczyć wszystkie odległe gałęzie w lokalnym klonie, używając git branch -r lub git branch -a.

Z Git clone doc:

Klonów repozytorium do nowo utworzonego katalogu, tworzy oddziały zdalnego śledzenia dla każdego oddziału w sklonowanego repozytorium (widoczne przy użyciu git branch -r), a także tworzy i sprawdza początkowa gałąź rozgałęziona z aktualnie aktywnego odgałęzienia sklonowanego repozytorium.

Jeśli chcesz lokalne kopie tych oddziałów, które można pracować, można je utworzyć z

git branch <local branch name> <remote branch> 

lub utworzyć oddział i to sprawdzić za pomocą jednego polecenia tak

git checkout -b <local branch name> <remote branch> 
+1

Lub jeśli jest tylko jedno repozytorium, '' git checkout 'zrobi to zadanie. Zobacz [dokumentacja] (https://www.kernel.org/pub/software/scm/git/docs/git-checkout.html): _Jeśli nie zostanie znaleziony, ale istnieje gałąź śledzenia w dokładnie jednym pilocie (wywołanie to ) o pasującej nazwie, traktowanej jako odpowiednik: _ '$ git checkout -b --track /' – 1615903

+0

Ale nie ma znaczenia, gdzie utworzysz gałąź (lokalna, która jest kopią zdalnego) od? – Saran

+0

@ Saran Nie jestem pewien co masz na myśli. –

0

git clone tworzy i sprawdza początkową gałąź, która jest rozwidlona z aktualnie aktywnego odgałęzienia sklonowanego repozytorium, czyli domyślnie master. Tak zmienić aktualnie aktywne oddziału centralnego repozytorium do develop:

cd /path/to/central/repo 
git symbolic-ref HEAD refs/heads/develop 

Teraz, gdy deweloperzy sklonować, ich początkowy oddział będzie develop zamiast master.

Powiązane problemy