Cum se clonează toate ramurile la distanță în Git?

Am o ramură master și o ramură development, ambele împinse pe GitHub. Am clonatd, pulled, și fetched, dar rămân incapabil să recuperez altceva în afară de ramura master.

Sunt sigur că îmi scapă ceva evident, dar am citit manualul și nu am nicio bucurie.

Fetch-ul pe care îl faceți ar trebui să obțină toate ramurile de la distanță, dar nu va crea ramuri locale pentru acestea. Dacă folosiți gitk, ar trebui să vedeți ramurile la distanță descrise ca "remotes/origin/dev" sau ceva similar.

Pentru a crea o ramură locală bazată pe o ramură la distanță, faceți ceva de genul:

git checkout -b dev refs/remotes/origin/dev
Care ar trebui să returneze ceva de genul
Ramura dev setată pentru a urmări ramura de la distanță refs/remotes/origin/dev.
A trecut la o nouă ramură "dev"
Acum, când vă aflați pe ramura dev, "git pull" va actualiza dev-ul local la același punct ca și ramura dev de la distanță. Rețineți că va prelua toate ramurile, dar o va trage doar pe cea pe care vă aflați în partea de sus a arborelui.
Comentarii (4)

Atunci când faceți "git clone git://locație", toate ramurile și etichetele sunt preluate.

Pentru a lucra pe o anumită ramură de la distanță, presupunând că este vorba de o ramură de origine:

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

O git clone ar trebui să copieze întregul depozit. Încercați să-l clonați și apoi rulați git branch -a. Acesta ar trebui să listeze toate ramurile. Dacă apoi doriți să treceți la ramura "foo" în loc de "master", utilizați git checkout foo.

Comentarii (5)