web-dev-qa-db-fra.com

Comment commander une succursale distante dans Git?

Quelqu'un a inséré une branche "nouvelle fonctionnalité" dans le référentiel partagé:

git Push -u new_feature_branch

Maintenant, je voudrais créer une copie de cette branche sur ma machine locale afin de tester la nouvelle fonctionnalité.

Quelle serait la façon la plus simple de procéder? (Dois-je fetch/pull avant checkout?)

21
Misha Moroshko

Je trouve généralement inutile d'utiliser git fetch. git pull est suffisant. git pull synchronisera votre référentiel avec la télécommande. Le new_feature_branch sera alors disponible.

git checkout new_feature_branch remarquera la branche dans Origin et créera une nouvelle branche de suivi locale pour vous et basculera vers cette branche.

git pull
git checkout new_feature_branch
28
Bill Door

La façon la plus simple de le faire est:

git fetch
git checkout -t Origin/new_feature_branch

Cela n'est fait qu'au départ. A partir de maintenant, vous pouvez continuer à travailler avec la branche comme vous le faites pour les autres que vous utilisez.

17
Adam Dymitruk

Vous devez récupérer les modifications en amont pour que votre référentiel local inclut les objets appropriés (git fetch --all ou git fetch <remote>).

Ensuite, vous pouvez effectuer un paiement en utilisant git checkout <branch> (si vous aimez le faire explicitement, vous pouvez taper git checkout -b <branch> <remote>/<branch>; le nom local ne doit pas nécessairement être le même que la télécommande). Si vous ne possédez pas déjà une branche locale de ce nom, il va extraire la branche distante et la suivre.

Comme alternative à cela, vous pouvez utiliser git pull <remote> <branch>, mais cela va - avec les paramètres par défaut - fusionner la branche distante dans votre courant, ce qui n'est probablement pas ce que vous voulez.

11
Troels Thomsen
git fetch && git checkout new_feature_branch
1
Mukesh Chapagain