web-dev-qa-db-fra.com

Quelle est la différence entre "git branch" et "git checkout -b"?

J'ai utilisé git checkout -b pour créer une nouvelle branche. Je pense que git branch fait la même chose. Comment ces deux commandes diffèrent, si elles diffèrent du tout?

170
Adrien Joly

git checkout -b BRANCH_NAME crée une nouvelle branche et extrait la nouvelle branche pendant que git branch BRANCH_NAME crée une nouvelle branche mais vous laisse sur la même branche.

En d'autres termes git checkout -b BRANCH_NAME fait ce qui suit pour vous.

git branch BRANCH_NAME    # create a new branch
git checkout BRANCH_NAME  # then switch to the new branch
230
Fatih

git branch crée la branche mais vous restez dans la branche actuelle que vous avez extraite.

git checkout -b crée une branche et la vérifie.

C'est le raccourci pour:

git branch name
git checkout name
41
manojlds
  • git branch: Affiche toutes vos branches
  • git branch newbranch: Crée une nouvelle branche
  • git checkout -b newbranch: Crée une nouvelle branche et bascule immédiatement vers cette branche. C'est pareil que git branch newbranch suivi par git checkout newbranch.
24
Michel Pereira

Syntaxe complète:

git checkout -b [NEW_BRANCH] [FROM_BRANCH]

[FROM_BRANCH] est optionnel. S'il n'y a pas de FROM_BRANCH, git utilisera la branche actuelle.

17
Tuong Le

Il y a aussi un autre drapeau à mentionner, qui est relatif à ceux-ci.

git checkout -B BRANCH_NAME

C’est une commande très utile que j’utilise depuis peu. Cette commande vérifie la branche que vous spécifiez et réinitialise la branche en fonction de la branche source.

6
ddavison

Essentiellement:

Une branche A-git vous permet de créer une branche brute et simple.

B -git checkout -b vous permet de créer une branche et d’y accéder simultanément.

Quand utiliserez-vous lequel? 1- Git branche lorsque vous voulez créer une branche mais restez sur la branche actuelle. 2- git checkout -b quand vous voulez créer et changer. Si vous regardez, il est intuitif de créer une branche et d’y basculer. Donc, c'est à vous de choisir :)

0
user2238769

Il existe des formes des deux commandes qui sont similaires (en regardant la version 2.11.1 de git-scm docs):

git branch <branchname> <start-point>

et

git checkout -b <new_branch> <start_point>

Le dernier exécute d'abord la commande de branche, puis ajoute le paiement. Dans cette forme, fait explicitement référence à la documentation de git-branch:

Si vous spécifiez -b, une nouvelle branche sera créée comme si git-branch [2] était appelé puis extrait.

0
Pshemy108