120 votes

Branche et vérifiez en utilisant une seule commande

La création et l'utilisation d'une nouvelle branche nécessite deux commandes :

$ git branch nom_nouvelle_branche
$ git checkout nom_nouvelle_branche

J'ai tendance à oublier cette dernière, ce qui peut être ennuyeux. Existe-t-il un moyen de le faire en utilisant une seule commande ? Peut-être en utilisant un alias, ou quelque chose de similaire ? Je sais que je pourrais écrire une fonction shell, mais cela semble un peu trop de travail pour une tâche aussi simple et courante.

Bazaar prend en charge cela dans une certaine mesure en utilisant la notation bzr branch --switch.

168voto

MvG Points 22342

En écrivant la question et en trouvant Quelle est la différence entre "git branch" et "git checkout -b"? dans la liste des questions similaires, j'ai trouvé la réponse moi-même :

$ git checkout -b nouveau_nom_de_branche

Je suppose que je lisais la mauvaise commande dans le manuel, je m'attendais à ce que cela fasse partie de la commande branch, pas de checkout. En citant le manuel de la commande checkout:

Spécifier -b provoque la création d'une nouvelle branche comme si git-branch(1) était appelé puis vérifié.

C'est exactement ce que je cherchais.

43voto

P-Gn Points 10410

Git a introduit switch dans la version 2.23 pour gérer le changement de branches spécifiquement et éviter l'utilisation de checkout qui peut être déroutant en raison du grand nombre d'opérations qu'il peut effectuer.

Entre autres possibilités,

git switch   # pour basculer vers une branche existante
git switch -c   # pour créer une nouvelle branche et basculer dessus

18voto

Maik Lowrey Points 106

Il existe deux commandes en une ligne pour cela dans git.

  1. git checkout -b nouveau_nom_branche
  2. git switch -c nouveau_nom_branche

Sous le capot, les deux font la même chose :

git branch nouveau_nom_branche
git checkout nouveau_nom_branche

0voto

Thend Points 37

Ce que j'utilise généralement est git checkout -b NOM_DE_MA_NOUVELLE_BRANCHE origin/master

Cela checkout la nouvelle branche que vous avez récemment créée, avec le -b, et connecte la branche avec la branche origin/master, donc plus tard vous n'avez pas besoin de définir un suivi à distance --set-upstream (si vous l'avez déjà défini pour votre branche locale master).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X