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
?)
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
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.
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.
git fetch && git checkout new_feature_branch