Come clonare tutti i rami remoti in Git?

Ho un ramo master e uno sviluppo, entrambi spinti su GitHub. Ho clonato, pull'ed, efetch'ed, ma rimango incapace di ottenere qualcosa di diverso dal ramo master.

Sono sicuro che mi manca qualcosa di ovvio, ma ho letto il manuale e non sto ottenendo alcuna gioia.

Il fetch che stai facendo dovrebbe ottenere tutti i rami remoti, ma non creerà rami locali per loro. Se usi gitk, dovresti vedere i rami remoti descritti come "remotes/origin/dev" o qualcosa di simile.

Per creare un ramo locale basato su un ramo remoto, fate qualcosa come git checkout -b dev refs/remotes/origin/dev Che dovrebbe restituire qualcosa come

Branch dev impostato per tracciare il ramo remoto refs/remotes/origin/dev.
Passato ad un nuovo ramo "dev"
Ora, quando siete sul ramo dev, "git pull" aggiornerà il vostro dev locale allo stesso punto del ramo dev remoto. Nota che recupererà tutti i rami, ma tirerà solo quello su cui sei in cima all'albero.
Commentari (4)

Quando fai "git clone git://location", tutti i rami e i tag vengono recuperati.

Per lavorare su un ramo remoto specifico, supponendo che sia l'origine remota:

git checkout -b branch origin/branchname
Commentari (4)

Un git clone dovrebbe copiare l'intero repository. Prova a clonarlo e poi esegui git branch -a. Dovrebbe elencare tutti i rami. Se poi vuoi passare al ramo "foo" invece di "master", usa git checkout foo.

Commentari (5)