Pour vérifier la branche Git d'une fenêtre de Terminal sur votre Mac, exécutez git branch --show-current dans cette fenêtre. Git affiche la branche extraite pour le dépôt à l'emplacement actuel du shell. S'il n'affiche rien, l'extraction est peut-être dans l'état « detached HEAD » ; si Git signale qu'il ne s'agit pas d'un dépôt, vérifiez d'abord le répertoire de la fenêtre.

Vérifier la branche dans la fenêtre actuelle du Terminal

Cliquez sur la fenêtre de Terminal que vous souhaitez identifier, puis saisissez cette commande et appuyez sur Retour :

git branch --show-current

Par exemple, une sortie telle que feature/search signifie que ce shell se trouve dans un arbre de travail Git où cette branche est extraite. Cette commande indique le nom de la branche actuelle sans lister toutes les branches. La documentation de Git précise qu'elle n'affiche rien dans l'état « detached HEAD », lorsque le checkout pointe directement vers un commit plutôt que vers une branche nommée. Documentation de git branch par Git

La réponse s'applique au répertoire depuis lequel la commande est exécutée. Chaque fenêtre ou onglet de Terminal peut avoir un répertoire de travail différent ; exécutez donc la commande dans la fenêtre spécifique que vous souhaitez vérifier. Si vous avez plusieurs fenêtres similaires, confirmez le répertoire du projet ainsi que la branche avant d'agir.

Confirmer dans quel projet se trouve la fenêtre

Exécutez pwd pour afficher le répertoire actuel du shell. Utilisez ensuite Git pour identifier le répertoire de premier niveau de l'arbre de travail :

pwd
git rev-parse --show-toplevel

La première commande affiche l'emplacement actuel ; la seconde affiche la racine du dépôt lorsque le répertoire actuel appartient à un arbre de travail. La documentation de Git précise que --show-toplevel renvoie une erreur s'il n'y a pas d'arbre de travail. Documentation de git rev-parse par Git

Cette vérification supplémentaire est utile lorsque deux projets utilisent des noms de branches similaires, ou lorsque le shell se trouve dans un sous-dossier imbriqué. Dans un sous-répertoire d'un dépôt, Git identifie toujours l'arbre de travail englobant et sa branche extraite. Le chemin d'accès est un indicateur précieux pour savoir quel projet vous consultez ; la commande de branche seule n'identifie pas le projet par son nom.

Utiliser git status comme seconde vérification

Pour une vérification combinée rapide, exécutez :

git status -sb

Le format d'état court avec -b inclut une ligne pour la branche et un résumé compact des modifications de fichiers. Par exemple, ## main identifie la branche comme étant main ; un texte supplémentaire peut décrire le statut de suivi. git status vous aide également à repérer les fichiers modifiés, indexés (staged) ou non suivis avant de continuer. La documentation de Git indique que -b affiche les informations de branche et de suivi dans un format court. Documentation de git status par Git

L'identification de la branche et l'état des fichiers répondent à des questions différentes. Le nom de la branche vous indique quelle branche nommée est extraite ; le reste de la sortie d'état vous indique si l'arbre de travail comporte des modifications. Un statut propre ne signifie pas qu'une branche est à jour par rapport à un dépôt distant, et le seul nom de la branche ne révèle pas si des fichiers ont été modifiés.

Si la commande n'affiche pas de branche

Si Git indique que le répertoire actuel n'est pas un dépôt, le shell peut se trouver dans votre dossier personnel, dans un autre projet ou dans un répertoire situé en dehors de l'arbre de travail. Utilisez pwd pour voir où vous vous trouvez. Si vous connaissez l'emplacement du projet, déplacez-vous dans ce répertoire avec cd et réexécutez la commande de branche. Par exemple, remplacez le chemin d'exemple par le chemin réel de votre projet :

cd ~/Projects/sample-project
git branch --show-current

Si vous êtes déjà dans un dépôt mais que la commande de branche ne renvoie aucun texte, vérifiez avec git status -sb. Le comportement documenté de Git pour --show-current est de ne rien afficher dans l'état « detached HEAD ». La sortie d'état peut afficher (HEAD detached at ...) ; dans cet état, il n'y a aucun nom de branche locale actuelle à signaler. Évitez de considérer la dernière branche dont vous vous souvenez comme étant la branche actuelle.

Rendre le projet plus facile à reconnaître dans Terminal

Le Terminal de macOS peut afficher le répertoire de travail dans le titre d'une fenêtre ou d'un onglet. Pour le configurer, ouvrez Terminal > Réglages, choisissez Profils, sélectionnez le profil utilisé par la fenêtre, puis cliquez sur Fenêtre pour choisir les informations du titre telles que le répertoire de travail ou son chemin d'accès. Les titres des onglets disposent de leurs propres réglages sous Profils > Onglet. Apple précise que les réglages de profil s'appliquent au profil sélectionné ; vérifiez donc le profil utilisé si le titre ne change pas. Guide Terminal d'Apple sur les titres de fenêtres et Guide Terminal d'Apple sur les titres d'onglets

Un titre indiquant le répertoire aide à distinguer les emplacements des projets, mais il n'affiche pas en soi la branche Git. Pour une vérification formelle de la branche, exécutez git branch --show-current dans la fenêtre concernée ; utilisez git status -sb si vous souhaitez également une vue compacte des modifications et des informations de suivi.

Sources