Comment créer une nouvelle branche dans Git »wiki utile

Les branches sont au cœur du concept de contrôle de version dans la programmation, et Git en particulier. Cet article de démarrage vous explique ce qu'est une branche et comment en créer une à l'aide de différents outils.

Qu'est-ce qu'une branche Git?

Dans les systèmes de contrôle de version, le terme branche est utilisé comme une analogie avec les arbres en ce sens que chaque branche émerge d'une autre pour finir par revenir au tronc. Les branches vous permettent de créer des lignes de développement individuelles, afin de travailler sur elles de manière isolée sans déranger d'autres travaux.

En relation: Comment utiliser les branches Git pour structurer votre projet de programmation

En utilisant Git, vous allez travailler sur la branche principale par défaut, si vous êtes au courant ou non. Ceci est souvent appelé votre branche active , actuelle , extraite ou HEAD . A tout moment de votre cycle de développement, vous pouvez créer une nouvelle branche et effectuer un travail séparé dans chaque branche, à partir de ce moment.

Créer une nouvelle branche sur la ligne de commande

Le programme Git en ligne de commande offre le plus de puissance et de flexibilité, mais il y a beaucoup à apprendre. Si vous êtes à l'aise de fouiller dans les pages de manuel et de faire un usage intensif de Git, c'est une excellente option.

Utilisez la commande git branch <branchname> pour créer une nouvelle branche avec le nom donné:

 $ git branch dev
Branch 'dev' set up to track local branch 'master'.

Cette branche à partir de la branche actuelle, alors assurez-vous que vous êtes passé à celle à partir de laquelle vous souhaitez créer une branche avant d'exécuter cette commande.

Vous pouvez lister toutes les branches et confirmer que la nouvelle a été créée à l'aide de git branch sans aucun argument:

 $ git branch
1 dev
2 * master

Vous pouvez voir plus d'informations, y compris quelle branche une autre piste, en utilisant l'indicateur -vv :

 $ git branch -vv
1 dev d1a9e5b [master] commit comment
2 * master d1a9e5b commit comment

Si vous essayez de créer une branche avant le premier commit, vous obtiendrez un message d'erreur comme:

 fatal: Not a valid object name: 'master'.

Si vous essayez de créer une branche en utilisant un nom qui existe déjà, vous obtiendrez un message d'erreur comme:

 fatal: A branch named 'dev' already exists.

La commande git branch crée une nouvelle branche pointant vers le même commit sur lequel vous travaillez actuellement. Cependant, votre copie de travail pointera toujours vers la branche principale. Pour basculer vers la nouvelle branche que vous venez de créer, utilisez git checkout :

 git checkout dev

Le terme checkout peut prêter à confusion si vous êtes habitué à d'autres systèmes de contrôle de version; dans Git, checkout fait référence au changement de branche actuellement active. Étant donné que vous souhaiterez généralement basculer vers une nouvelle branche une fois qu'elle a été créée, il existe un raccourci pour l'ensemble du processus:

 git checkout -b dev

Cette commande signifie «créer une nouvelle branche appelée« dev »et y passer immédiatement». C'est l'équivalent de:

 git branch dev
git checkout dev

En fait, vous pouvez même utiliser git checkout pour créer une branche à partir de n'importe quelle autre, pas seulement celle qui est actuellement extraite. Par exemple, pour créer une nouvelle branche appelée autre , à partir de la branche nommée dev :

 git checkout -b another dev

Créer une nouvelle branche à l'aide de GitHub Desktop

Une autre façon de créer des branches Git sur Windows ou macOS consiste à utiliser GitHub Desktop , le programme officiel d'interface utilisateur graphique (GUI) fourni par GitHub. L'utilisation d'une interface graphique est parfaite pour les débutants et ceux qui font des cauchemars lorsque quelqu'un murmure le mot Vim.

GitHub Desktop affichera toujours votre branche actuelle dans la barre d'outils principale:

Cliquez sur ce bouton de la barre d'outils principale pour afficher les détails des branches du référentiel, y compris l'option de création d'une nouvelle branche:

Notez que, si vous commencez à taper un nom de branche sans correspondance, GitHub Desktop vous invite à créer une nouvelle branche et affiche le raccourci clavier pour le faire – utile si c'est vraiment le genre de chose que vous faites beaucoup:

Vous pouvez également commencer en appuyant immédiatement sur le bouton Nouvelle branche . Quel que soit l'itinéraire que vous empruntez, vous vous retrouverez avec une boîte de dialogue pour confirmer le nouveau nom de la branche:

Votre nouvelle branche sera toujours basée sur la branche qui était active lorsque vous l'avez créée. GitHub Desktop passera à votre nouvelle branche qui suivra automatiquement la branche à partir de laquelle vous l'avez créée.

Création d'une nouvelle branche à l'aide de la tour

D'autres interfaces graphiques sont disponibles auprès de tiers. Tower est gratuit pour une période d'essai de 30 jours et est disponible sur macOS et Windows.

Pour créer une nouvelle branche à partir de la branche actuellement extraite, sélectionnez Créer une nouvelle branche dans le menu principal du référentiel :

Pour créer une nouvelle branche à partir de n'importe quelle branche disponible, cliquez avec le bouton droit de la souris sur la branche dans la barre latérale gauche et sélectionnez Créer une nouvelle branche à partir de <nom de la branche> :

Notez que, dans les deux cas, vous pouvez activer la branche en tant que branche de suivi ou modifier le point de départ sur n'importe quelle branche disponible:

Créer une nouvelle branche à l'aide de GitKraken

GitKraken est une autre interface graphique populaire qui peut sembler intimidante au début, mais elle représente visuellement les concepts clés de Git, y compris les branches. GitKraken est gratuit pour une utilisation open source et est disponible pour Windows, Mac et Linux.

Assurez-vous que vous travaillez avec la bonne branche active; c'est celui mis en évidence dans la liste des branches dans la barre latérale gauche:

Pour créer une nouvelle branche, cliquez sur l'icône de branche dans la barre d'outils principale:

Entrez le nom de votre succursale et appuyez sur ENTRÉE:

La nouvelle branche sera automatiquement extraite et vous recevrez une notification sur le côté droit de l'écran.

Créer une nouvelle branche sur GitHub

Au lieu d'exécuter une application locale, vous pouvez héberger votre référentiel sur l'une des deux applications Web compatibles avec Git. Le premier, GitHub , est une option très populaire auprès de la communauté open source.

GitHub affiche votre branche actuelle (active) dans la vue de votre référentiel, près du coin supérieur gauche:

Cliquez sur le bouton pour afficher les branches existantes:

Tapez le nom de votre nouvelle branche et notez que vous avez la possibilité de la créer à partir de la branche actuelle:

Une fois créée, votre nouvelle branche devient active.

Créer une nouvelle branche sur Bitbucket

Bitbucket est une autre application Web de contrôle de version populaire qui propose des comptes gratuits avec un nombre illimité de référentiels privés.

À partir de n'importe quelle page de votre référentiel, sélectionnez l'élément Branches dans le menu de gauche:

Cliquez sur le bouton Créer une branche en haut à droite. Entrez le nouveau nom de la succursale et cliquez sur Créer . Si vous avez besoin de créer une branche depuis un autre emplacement que master , modifiez d'abord la branche From :

Bitbucket facilite la sélection d'un type qui est un préfixe ajouté au nom de la branche qui peut encourager une approche plus organisée des branches. C'est juste une convention, plutôt qu'une fonctionnalité Git intégrée, mais cela peut s'avérer utile.

Une fois créé, Bitbucket affiche une vue de votre nouvelle branche:

Apprenez à vous diversifier avec Git

Git est une question de branches: elles sont peu coûteuses à créer et elles permettent à plusieurs flux de travail de coexister, prêts à être fusionnés une fois terminés. Une fois que vous serez familiarisé avec la création, la commutation et la fusion de branches, vous serez sur la bonne voie pour utiliser Git à son plein potentiel.