Bases

Git Bash : qu'est-ce que c'est et comment l'utiliser sous Windows

Mis à jour: · Skillaria.Top

Git Bash est un terminal pour Windows installé avec Git for Windows ; il fournit un environnement Unix familier : le shell bash, les commandes ls, cd, cat, grep, ssh et Git lui-même. Il permet aux commandes Git et aux instructions de la documentation de fonctionner sous Windows comme sous Linux et macOS.

Qu'est-ce que Git Bash

Git Bash est une application Windows installée avec Git for Windows ; elle ouvre une fenêtre de terminal avec le shell bash. On y trouve Git lui-même et un ensemble d'utilitaires Unix standard : ls, cd, pwd, cat, grep, find, less, ssh, ssh-keygen, curl, etc.

Techniquement, il s'agit d'un portage de l'environnement MSYS2 : les programmes sont compilés pour Windows mais se comportent comme sous Linux. La fenêtre du terminal est par défaut l'émulateur MinTTY. Ce n'est ni une machine virtuelle ni un vrai Linux — c'est le rôle de WSL. Git Bash est plus léger : il démarre instantanément et travaille directement sur les fichiers Windows.

On le voit souvent orthographié « git bush » dans les recherches — c'est la même chose. Bash signifie Bourne Again SHell et n'a rien à voir avec les buissons (bush).

Pourquoi Git Bash alors qu'il existe cmd et PowerShell

Git fonctionne très bien dans PowerShell comme dans l'invite de commandes classique. Mais Git Bash a des avantages concrets, surtout pour les débutants.

  • Les mêmes commandes sur tous les systèmes. La documentation de Git, les réponses sur les forums, les guides GitHub et les cours écrivent leurs commandes pour bash. Dans Git Bash, elles fonctionnent sans adaptation : rm -rf build, cat ~/.ssh/id_ed25519.pub, export VAR=value.
  • Les outils SSH déjà prêts. ssh-keygen, ssh-agent, ssh-add sont déjà là — une clé pour GitHub se crée en une minute.
  • Les infos Git dans l'invite. Git Bash affiche la branche courante directement dans la ligne de saisie, par exemple (main), et pendant un merge — (main|MERGING).
  • L'autocomplétion. Tab complète les commandes Git, les noms de branches et de fichiers.
  • Une compétence pour la suite. Les serveurs, les conteneurs Docker et la CI tournent sous Linux. Une fois habitué à bash dans Git Bash, vous serez comme chez vous sur un serveur.

Git Bash, Git CMD, PowerShell : quelle différence

Après l'installation de Git for Windows, plusieurs entrées apparaissent dans le menu Démarrer, ce qui sème la confusion.

OutilDe quoi s'agit-ilQuand l'utiliser
Git BashShell bash avec utilitaires Unix et GitTravail principal avec Git, suivre les tutoriels trouvés en ligne
Git CMDInvite de commandes Windows classique (cmd.exe) avec Git dans le PATHSi vous êtes habitué à cmd et n'avez besoin que des commandes git
Git GUIClient graphique simple en Tcl/TkComposer un commit visuellement, rarement utilisé
PowerShell / cmdTerminaux Windows standardGit fonctionne si l'option PATH « from the command line and also from 3rd-party software » a été choisie à l'installation

Git CMD n'est pas un programme à part, mais un cmd ordinaire avec un environnement configuré. Les commandes Git y sont les mêmes, mais ls, cat et grep ne fonctionnent pas : à leur place, dir, type et findstr. Les recherches « cmd git » portent généralement sur ce point : comment lancer git depuis l'invite de commandes standard. Réponse : rien de spécial, il suffit d'exécuter git status si Git est dans le PATH.

Comment ouvrir Git Bash

Depuis le menu Démarrer

Tapez « Git Bash » et lancez l'application. Le terminal s'ouvre dans le dossier personnel de l'utilisateur : /c/Users/Nom, noté ~ dans bash.

Dans le bon dossier via le menu contextuel

La méthode la plus pratique : dans l'Explorateur, faites un clic droit dans une zone vide du dossier du projet et choisissez « Open Git Bash here ». Sous Windows 11, cette entrée est cachée dans « Afficher plus d'options » (ou Maj + clic droit).

Dans le terminal de VS Code

Ouvrez le terminal (Ctrl + `), cliquez sur la flèche à côté du « + » et choisissez Git Bash. Pour qu'il s'ouvre par défaut, lancez la commande « Terminal: Select Default Profile » et sélectionnez Git Bash.

Dans Windows Terminal

Git for Windows peut ajouter lui-même un profil Git Bash dans Windows Terminal (option de l'assistant d'installation). Si le profil n'existe pas, créez-en un avec la commande C:\Program Files\Git\bin\bash.exe -i -l.

Chemins et fichiers : la principale différence avec Windows

Dans Git Bash, les chemins s'écrivent au format Unix. Le lecteur C: devient /c, les barres obliques inversées deviennent des barres obliques normales.

WindowsGit Bash
C:\Users\Anna\projects/c/Users/Anna/projects
D:\work/d/work
%USERPROFILE%~ ou $HOME

Si le chemin contient des espaces, mettez-le entre guillemets : cd "/c/Users/Anna/My Projects". Pour ouvrir le dossier courant dans l'Explorateur, utilisez explorer ., et dans VS Code — code ..

Les commandes Git Bash de base pour débuter

Navigation et fichiers

pwd                 # où suis-je
ls -la              # liste des fichiers, y compris cachés (.git, .gitignore)
cd projects/site    # aller dans un dossier
cd ..               # remonter d'un niveau
mkdir new-app       # créer un dossier
touch index.html    # créer un fichier vide
cat README.md       # afficher le contenu
rm file.txt         # supprimer un fichier
rm -r old-folder    # supprimer un dossier et son contenu
clear               # effacer l'écran

Un premier dépôt directement dans Git Bash

$ mkdir my-first-repo && cd my-first-repo
$ git init
Initialized empty Git repository in C:/Users/Anna/my-first-repo/.git/
$ echo "Bonjour, Git" > hello.txt
$ git add hello.txt
$ git commit -m "Ajouter hello.txt"
$ git log --oneline

Après git init, l'invite change : le nom de la branche apparaît entre parenthèses. C'est un moyen rapide de savoir que vous êtes dans un dépôt.

Astuces utiles

  • Tab — autocomplétion des commandes, branches et fichiers. Appuyez deux fois pour voir les possibilités.
  • Flèche haut — commande précédente ; history — tout l'historique ; Ctrl + R — recherche dans l'historique.
  • Copier/coller — dans MinTTY, sélectionner à la souris copie immédiatement, coller se fait avec Maj + Inser ou le clic droit. Dans le terminal, Ctrl + C interrompt la commande au lieu de copier.
  • q — quitter l'affichage paginé (git log et git diff s'ouvrent dans less).
  • Esc, puis :q! et Entrée — quitter Vim s'il s'est ouvert pour le message de commit.

Git CLI : pourquoi apprendre la ligne de commande

Git CLI désigne l'interface en ligne de commande de Git, c'est-à-dire les commandes git ... elles-mêmes. Les clients graphiques sont pratiques pour parcourir l'historique, mais ils ont leurs limites : toutes les opérations ne sont pas disponibles, et en cas d'erreur un bouton n'explique pas ce qui se passe. La ligne de commande offre un contrôle total et des messages détaillés.

Autre argument : en entretien ou dans une nouvelle équipe, on vous demandera de montrer comment vous annulez un commit ou résolvez un conflit, et chacun utilise une GUI différente. Les commandes, elles, sont partout les mêmes. Une bonne stratégie : travailler en CLI et utiliser une GUI ou les outils intégrés de l'IDE pour consulter les diffs et l'historique.

Personnaliser Git Bash

Des alias dans ~/.bashrc

Au démarrage, Git Bash lit ~/.bash_profile et ~/.bashrc. Ajoutez-y vos raccourcis :

alias gs='git status'
alias gl='git log --oneline --graph --all'
alias ll='ls -la'

Pour appliquer les changements sans redémarrer, exécutez source ~/.bashrc. Si un avertissement indique au démarrage qu'un .bashrc a été trouvé mais pas de .bash_profile, Git Bash crée lui-même .bash_profile — c'est normal.

Les alias de Git lui-même

Vous pouvez aussi stocker des alias dans Git ; ils fonctionnent alors dans n'importe quel terminal :

git config --global alias.st status
git config --global alias.lg "log --oneline --graph --all"

Désormais, git st et git lg fonctionnent aussi bien dans Git Bash que dans PowerShell.

L'apparence

Police, taille, couleurs et transparence se règlent par un clic droit sur la barre de titre → Options. Pour les caractères accentués et non latins, vérifiez dans la section Text que l'encodage UTF-8 est sélectionné.

Problèmes courants dans Git Bash

Caractères illisibles à la place des accents dans git log

En général, il suffit de régler l'encodage sur UTF-8 dans Options → Text et d'ajouter à ~/.bashrc une ligne comme export LANG=fr_FR.UTF-8. Pour les noms de fichiers accentués dans git status, exécutez git config --global core.quotepath false — sinon ils s'affichent sous forme de séquences échappées comme \303\251.

Les programmes interactifs se figent

Certains programmes en console (par exemple l'interpréteur Python ou node sans arguments) se comportent bizarrement dans MinTTY. Lancez-les via winpty : winpty python, ou utilisez Git Bash dans Windows Terminal.

Les chemins se transforment de façon étrange

MSYS convertit automatiquement les arguments qui ressemblent à des chemins Unix en chemins Windows. C'est parfois gênant, par exemple quand vous passez /app à docker run. Solution : doubler la barre oblique (//app) ou définir MSYS_NO_PATHCONV=1 pour la commande.

« Permission denied (publickey) » lors d'un push

La clé SSH n'a pas été créée ou n'a pas été ajoutée sur GitHub. Créez une clé dans Git Bash avec ssh-keygen -t ed25519 -C "you@example.com", ajoutez le contenu de ~/.ssh/id_ed25519.pub dans les paramètres GitHub et vérifiez avec ssh -T git@github.com.

Git Bash ou WSL

WSL est un vrai Linux dans Windows, avec son propre système de fichiers et ses paquets. Il est utile si vous développez pour Linux : lancer Docker, compiler, utiliser une stack serveur. Git Bash est plus simple et plus léger, et il suffit amplement pour travailler avec Git. L'important est de ne pas mélanger : un dépôt cloné dans WSL se gère de préférence avec le Git de WSL, et un dépôt sur le disque C: avec Git for Windows.

En résumé

Git Bash est un terminal avec bash et des utilitaires Unix, fourni avec Git for Windows. Il rend Windows compatible avec la documentation et les tutoriels Git, offre SSH prêt à l'emploi et affiche la branche dans l'invite. Git CMD, c'est le même Git dans l'invite de commandes classique, sans les commandes Unix. Pour apprendre et pour le travail quotidien sous Windows, choisissez Git Bash — c'est le terminal principal utilisé dans les travaux pratiques du cours Git.

Questions fréquentes

Git Bash est-il gratuit ?

Oui, Git Bash fait partie de Git for Windows et est distribué gratuitement sous licence libre.

Peut-on installer Git Bash sans Git ?

Non, Git Bash s'installe uniquement avec Git for Windows. Si Git est déjà installé, Git Bash se trouve dans le menu Démarrer.

Git Bash existe-t-il sur macOS et Linux ?

Il n'y a pas de programme dédié et il n'en faut pas : sous macOS et Linux, le terminal intégré fonctionne déjà avec bash ou zsh et les utilitaires Unix.

Où Git Bash stocke-t-il le dossier personnel et la configuration ?

Le dossier personnel est C:\Users\Nom, accessible dans bash via ~. On y trouve aussi .bashrc, .bash_profile, .gitconfig et le dossier .ssh.

Peut-on lancer des fichiers .bat et .exe dans Git Bash ?

Oui, les programmes Windows se lancent par leur nom ou leur chemin, par exemple ./build.bat ou notepad file.txt.

Apprenez ce sujet en vidéo

Ce sujet est traité en détail avec de la pratique dans le cours « Git de zéro à développeur confirmé ».

Voir le cours