2013-05-26 3 views
5

Utilizzo un repository git utilizzando the git-flow branching model. L'ho trasferito su un repository centrale. Come può un nuovo sviluppatore unirsi al progetto clonarlo?Come clonare un repository git di stile git-flow?

La clonazione del repository fornisce solo il ramo master. In che modo il nuovo sviluppatore può ottenere il ramo develop e alcuni rami di funzionalità a sua scelta?

+5

_Connessione del repository fornisce solo il ramo master._ - questo è falso, il clone è un clone completo. 'git branch -a' mostrerà tutti i rami. – 1615903

+0

Dato che il comando 'git branch' ha mostrato solo il ramo' master', ho pensato che fosse solo il ramo master clonato. Colpa mia. –

risposta

7

Come user1615903 already pointed out, un semplice

git clone <remote repo url> 

sarà già dare a tutti i rami dal repo remoto, incluso master e develop. Puoi vedere tutte le filiali remote nel tuo clone locale usando git branch -r o git branch -a.

Dalle Git clone doc:

Cloni un repository in una directory appena creata, crea a distanza di tracciamento rami per ogni ramo nel repository clonato (visibile usando git branch -r), e crea e estrae un ramo iniziale che è biforcuto dal ramo attualmente attivo del repository clonato.

Se si desidera copie locali di quei rami che si può lavorare su, è possibile creare loro con

git branch <local branch name> <remote branch> 

o creare il ramo e check it out con un comando come questo

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

O se c'è un solo repository, 'git checkout ' farà il lavoro. Vedere [documentazione] (https://www.kernel.org/pub/software/scm/git/docs/git-checkout.html): _If non è stato trovato ma esiste un ramo di tracciamento esattamente in un remoto (chiamata esso ) con un nome corrispondente, trattare come equivalenti a: _ 'git checkout -b $ --track /' – 1615903

+0

Ma, non importa dove si crea la (locale che è una copia remota filiale) a partire dal? – Saran

+0

@Saran Non sono sicuro di cosa intendi. –

0

git clone crea e controlla un ramo iniziale che è biforcuto dal ramo attualmente attivo del repository clonato, che è master per impostazione predefinita. Quindi cambiare ramo attivo del repository centrale per develop:

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

Ora, quando gli sviluppatori clone, loro ramo iniziale sarà develop invece di master.