Guides Git
Visualiseur et visionneuse d'arborescence Git : comment voir votre historique Git sous forme de graphique
Trois façons de voir votre historique Git sous forme d'arborescence : le graphique du journal git dans votre terminal, gitk et un graphique de validation GUI cliquable. Apprenez ensuite à lire les voies et les fusions et trouvez le commit dont vous avez besoin.

Un visualiseur d'arborescence Git dessine votre historique de validation sous forme de graphique : chaque point est une validation, chaque ligne colorée est une branche et deux lignes se rencontrant en un seul point sont une fusion. Git lui-même en propose deux : exécutez git log --graph --oneline --all --decorate dans n'importe quel terminal ou ouvrez gitk --all. Lorsque vous souhaitez un historique sur lequel vous pouvez cliquer, filtrer et rechercher, utilisez un graphique de validation GUI tel que GitTree, un client Git de bureau pour macOS, Windows et Linux.
Ce guide passe en revue les trois, puis montre comment lire les voies et fusionner les commits et comment trouver un commit parmi des milliers. Une brève divulgation : le créateur de GitTree l'a écrit. Les sections de ligne de commande et gitk n'ont besoin que de Git.
Graphique du journal Git : l'arborescence déjà intégrée à Git
L’arborescence Git la plus rapide consiste en une seule commande. Il fonctionne dans n'importe quel référentiel, via SSH, et sur tous les systèmes sur lesquels Git s'exécute :
git log --graph --oneline --all --decorate--graphdessine un graphique textuel de branches et fusionne à gauche de chaque commit. Il trie également les commits afin qu'aucun parent n'apparaisse avant ses enfants.--onelineimprime une ligne par commit : le hachage court et la première ligne du message.--allaffiche chaque branche, branche distante et balise plusHEAD, pas seulement la branche sur laquelle vous vous trouvez. Sans cela, les branches qui ne sont pas fusionnées dans votre branche actuelle restent masquées.--decorateimprime les noms de branches et de balises à côté des commits vers lesquels ils pointent. Git le fait déjà lorsque la sortie est envoyée à un terminal, donc l'indicateur est surtout important lorsque vous redirigez la sortie ou que vous avez modifiélog.decorate.
La sortie ressemble à ceci. Le commit le plus récent se trouve en haut, * marque un commit et les caractères |, \ et / sont les lignes de branchement :
* a1b2c3d (HEAD -> main) Merge branch 'feature/search'
|\
| * 9f8e7d6 (feature/search) Highlight matched terms
| * 5c4b3a2 Add search index
* | 1a2b3c4 Fix typo in README
|/
* 0f9e8d7 (tag: v1.0.0) Release 1.0.0Lisez-le de bas en haut : v1.0.0 a été publié, puis deux lignes de travail se sont déroulées côte à côte (un correctif README sur main, une fonction de recherche sur sa propre branche), et la fusion en haut les a à nouveau rejoints.
Enregistrez-le sous un alias court
Personne ne veut taper quatre drapeaux à chaque fois. Un alias Git transforme la commande entière en git tree :
git config --global alias.tree "log --graph --oneline --all --decorate"
git treeQuatre variantes à connaître
git log --graph --oneline --first-parent main
git log --graph --oneline --all --simplify-by-decoration
git log --graph --oneline main..feature/search
git log --graph --pretty=format:"%h %an %ar %s"--first-parentsuit uniquement le premier parent de chaque fusion, doncmainse lit comme une liste directe de ce qui a atterri dessus, une fusion par fonctionnalité.--simplify-by-decorationconserve uniquement les commits vers lesquels pointe une branche ou une balise : un aperçu de votre arborescence de branches Git sans les commits intermédiaires.main..feature/searchaffiche les commits surfeature/searchqui ne sont pas encore dansmain, ce qu'apporterait une fusion.--pretty=formatajoute l'auteur et une date relative (« il y a 3 jours ») à chaque ligne.
gitk : le visualiseur d'historique Git fourni avec Git
gitk est le propre navigateur de référentiel graphique de Git, écrit en Tcl/Tk. Il dessine le graphique de validation, affiche les détails de chaque validation et répertorie les fichiers dans chaque révision. Démarrez-le depuis un référentiel :
gitk --allgitk accepte les mêmes limites que git log, vous pouvez donc le restreindre à une plage horaire ou à un dossier. Cela n'ouvre que les deux dernières semaines de modifications sous src/ :
gitk --since="2 weeks ago" -- src/Si votre shell répond gitk: command not found, votre installation Git l'a laissé de côté. Sur Debian et Ubuntu, gitk est un package distinct :
sudo apt install gitkgitk est conçu pour lire l'historique. Il comporte quelques actions de validation dans son menu contextuel, mais la réalisation de validations appartient à son outil frère, git gui, qui, selon sa propre documentation, n'affiche pas l'historique du projet. Pour le travail quotidien, vous finissez par basculer entre les deux fenêtres et le terminal.
Un graphique de validation GUI : une arborescence Git sur laquelle vous pouvez cliquer
Un client Git de bureau dessine la même arborescence, mais chaque ligne est active. Sélectionnez un commit pour voir son message, ses parents et les fichiers modifiés. Faites un clic droit dessus pour créer une branche, sélectionner ou revenir en arrière. Double-cliquez sur une étiquette de branche pour l'extraire ou faites glisser une branche sur une autre pour la fusionner ou la rebase. Dans GitTree, le graphique de validation est la fenêtre principale plutôt qu'une visionneuse distincte.

Voici ce que GitTree dessine sur le graphique, au-delà des points et des lignes :
- Des voies codées par couleur pour chaque branche, avec des étiquettes locales, distantes et de balise sur les commits vers lesquels elles pointent.
- Une ligne
// WIPau-dessus de la validation la plus récente pour les modifications que vous n'avez pas encore validées, et chaque cache dessiné sur le graphique au niveau de la validation à partir de laquelle il a été effectué. - Créez des avatars et des badges de signature sur les commits signés.
- Pull request et puces CI-check sur les astuces de branche une fois que vous vous connectez GitHub, GitLab, Bitbucket ou Azure DevOps.
- Défilement fluide au-delà de 100 000 commits (mesurés sur Linux), afin que les historiques volumineux restent utilisables.
GitTree exécute le Git déjà installé sur votre ordinateur (version 2.39 ou plus récente), de sorte que chaque bouton fait ce que ferait la commande correspondante. Si vous êtes encore en train de choisir entre les deux styles, notre comparaison de l'utilisation d'une interface graphique Git par rapport à la ligne de commande couvre les compromis.
Comment lire un graphique de commit Git : voies, forks et fusions
Que le graphique soit ASCII dans un terminal ou coloré dans une fenêtre, les mêmes règles s'appliquent :
| Ce que tu vois | Ce que cela signifie |
|---|---|
Un point (* dans le terminal) | Un engagement. Les commits les plus récents sont supérieurs aux plus anciens. |
| Une ligne verticale ou une voie | Une ligne de développement : des commits qui se succèdent sur une branche. |
| Une ligne qui se sépare | Quelqu'un a démarré une branche à partir de ce commit et le travail s'est poursuivi à deux endroits. |
| Deux lignes se rejoignant en un seul point | Un commit de fusion. Il a deux parents, un de chaque lignée. |
Un libellé tel que main, origin/main ou v1.0.0 | Une branche locale, une branche distante ou une balise pointant vers ce commit. HEAD -> marque ce que vous avez extrait. |
| Une ligne droite, pas de fourches | Historique linéaire, généralement à partir de fusions à avance rapide ou de rebasage avant la fusion. |
Lecture des commits de fusion
Un commit de fusion a deux parents. Le premier parent est la branche sur laquelle vous vous trouviez lors de la fusion, généralement main. La seconde est la branche dans laquelle vous avez fusionné. C'est pourquoi --first-parent donne un résumé si clair de main : il ignore l'intérieur de chaque branche de fonctionnalité. Dans GitTree, sélectionnez une fusion et le panneau de détails répertorie les deux hachages parents.

Quand les voies se croisent et que l'image devient chargée
Les branches à longue durée de vie qui se rejoignent font que les voies se croisent. Rien n'est cassé ; il y a tout simplement plus à l’écran que ce dont vous avez besoin. Coupez-le jusqu'aux branches qui vous tiennent à cœur. Dans le terminal, nommez-les au lieu d'utiliser --all, par exemple git log --graph --oneline main feature/search. Dans GitTree, cliquez avec le bouton droit sur l'étiquette d'une branche et choisissez Masquer dans le graphique, Solo dans le graphique pour afficher uniquement cette branche, ou Épingler à gauche pour conserver sa voie dans la première colonne.
Rechercher dans l'historique Git : trouver un commit parmi des milliers
Voir l'arbre représente la moitié du travail. L'autre moitié consiste à trouver le commit qui a modifié la chose que vous déboguez.
Rechercher à partir de la ligne de commande
git log --oneline --author="Jane"
git log --oneline --since="2 weeks ago" -- src/
git log --oneline -S"parse_header"
git log --oneline -G"fn [a-z_]+_header"--authorconserve les commits dont le nom de l'auteur ou l'adresse e-mail correspond au modèle.--sinceet--untillimitent par date, et-- src/conserve uniquement les validations qui ont touché ce chemin.-S, la « pioche », recherche les commits qui ont ajouté ou supprimé une chaîne. C'est le moyen le plus rapide de savoir quand une fonction est apparue ou disparue.-Grecherche les commits dont les lignes ajoutées ou supprimées correspondent à une expression régulière. Tenez-vous-en aux expressions entre crochets POSIX telles que[a-z_]ou[[:alnum:]]: les raccourcis comme\wne fonctionnent pas avec toutes les versions de Git.
Recherchez dans GitTree avec auteur :, fichier : et modifiez :
La recherche au-dessus du graphique (Recherche dans l'historique chargé) correspond à un message, un auteur, un hachage, une branche ou un tag. Pour une recherche plus approfondie, ouvrez la palette de commandes avec Ctrl+Shift+P (⌘+Shift+P sur un Mac), tapez #, puis votre requête. Les mots sans préfixe recherchent les messages de validation, et ces préfixes affinent le résultat :
author:janeouauthor:"Jane Doe": le nom ou l'e-mail de l'auteur contient ce texte.file:src/main.rs: le commit touche ce chemin. Répétez-le pour faire correspondre plusieurs chemins.change:parse_header: le commit ajoute ou supprime cette chaîne, commegit log -S.change:/fn [a-z_]+_header/: une ligne modifiée correspond à l'expression régulière, commegit log -G.
Combinez-les en une seule requête : #fix crash author:jane file:src/ trouve les commits de Jane qui mentionnent « réparer un crash » et touchent src/. Pour réduire le graphique lui-même plutôt que de répertorier les résultats, utilisez Filter Graph… pour ne conserver qu'un seul auteur, une plage de dates ou un chemin.

Consultez votre arborescence Git dans GitTree
Installer GitTree
Téléchargez GitTree pour macOS, Windows ou Linux et installez-le. Assurez-vous que Git 2.39 ou une version plus récente est installé (sur Windows, cela signifie Git for Windows) ; Ubuntu 22.04 fournit un ancien Git, donc mettez à niveau Git sur Ubuntu d'abord.
Connectez-vous et commencez
Lorsque GitTree s'ouvre, connectez-vous avec un compte GitTree, créé sur gittree.app avec votre adresse e-mail ou un fournisseur Git : le graphique et toutes les autres fonctionnalités Git sont alors sur le plan gratuit. Les intégrations d'hébergement (GitHub, GitLab, Bitbucket et Azure DevOps, télécommandes privées incluses) et Nour, l'assistant IA, sont livrés avec GitTree Pro, qui commence par un essai gratuit ; le plan Free continue après.
Ouvrir ou cloner un dépôt
Sur la page de démarrage, choisissez Ouvrir et choisissez un dossier contenant un référentiel Git, ou choisissez Cloner pour en copier un à partir d'une URL via HTTPS ou SSH.
Lire le graphique
Le graphique de validation remplit la fenêtre principale : les validations les plus récentes en haut, une ligne colorée par branche, des étiquettes pour les branches et les balises. Cliquez sur n'importe quel commit pour voir son message, ses parents et les fichiers modifiés.
Concentration et recherche
Cliquez avec le bouton droit sur une étiquette de branche pour la masquer, la masquer ou l'épingler, utilisez Filter Graph… pour un auteur, une plage de dates ou un chemin, et tapez
#dans la palette de commandes pour rechercher avecauthor:,file:ouchange:.
Quel visualiseur d'arborescence Git devriez-vous utiliser ?
| Options | Idéal pour | Ce dont vous avez besoin |
|---|---|---|
git log --graph | Aperçus rapides, sessions SSH, scripts et journaux CI | Git uniquement |
| gitk | Un graphique cliquable de la suite Git elle-même | Git (sur Debian et Ubuntu, le package gitk séparé) |
| GitTree | Lire, rechercher et modifier l'historique dans une seule fenêtre | GitTree (Forfait gratuit pour chaque fonctionnalité Git, avec un compte GitTree ; Nour avec Pro) et Git 2.39 ou plus récent |
La plupart des développeurs finissent par en utiliser plusieurs : le terminal pour un aperçu rapide, une interface graphique pour parcourir l'historique et pour des modifications plus faciles à voir, comme un rebase interactif dans une interface graphique. Si vous êtes nouveau dans les branches et les commits, commencez par notre guide Git pour débutants, puis entraînez-vous à lire l'historique dans la leçon gratuite Lire les commits, HEAD et les plages de révision, et découvrez ce qu'est un HEAD détaché dans Garder le travail détaché. Si vous souhaitez comparer les applications de bureau, consultez notre tour d'horizon des meilleurs clients Git GUI.
GitTree propose un forfait gratuit qui couvre toutes les fonctionnalités de Git, y compris les référentiels privés, et Nour, l'assistant IA, est livré avec GitTree Pro. Consultez tout ce que le graphique de validation et le reste de l'application peuvent faire, ou lisez les notes d'installation pour Mac, Windows et Linux.
Questions fréquemment posées
Qu'est-ce qu'un visualiseur d'arborescence Git ?
Un visualiseur d'arborescence Git est un outil qui dessine l'historique des validations d'un référentiel sous forme de graphique au lieu d'une liste plate. Chaque commit est un point, chaque branche est une ligne et les fusions apparaissent là où les lignes se rejoignent. Git en comprend deux : la commande git log --graph pour le terminal et la fenêtre gitk. Les clients Desktop Git tels que GitTree ajoutent un graphique cliquable et consultable.
Comment puis-je voir l’arborescence des branches Git dans le terminal ?
Exécutez git log --graph --oneline --all --decorate dans le référentiel. --graph dessine les lignes de branchement, --oneline conserve chaque commit sur une ligne, --all inclut chaque branche et balise plutôt que seulement la branche actuelle, et --decorate imprime les noms de branche et de balise. Enregistrez-le comme alias avec git config --global alias.tree "log --graph --oneline --all --decorate" et à partir de là, tapez git tree.
Pourquoi git log n’affiche-t-il pas toutes mes branches ?
Par défaut, git log répertorie uniquement les commits accessibles à partir de HEAD, le commit que vous avez extrait. Les succursales qui ne sont pas fusionnées dans votre branche actuelle sont exclues. Ajoutez --all pour inclure chaque branche locale, branche distante et balise, ou nommez les branches souhaitées, par exemple git log --graph main feature/search.
Gitk est-il installé avec Git ?
gitk fait partie de la suite Git, donc de nombreuses installations l'incluent. Certaines distributions Linux le conditionnent séparément : sur Debian et Ubuntu, installez-le avec sudo apt install gitk. Démarrez-le depuis l'intérieur d'un référentiel avec gitk --all pour voir chaque branche. Il accepte les mêmes limites de date et de chemin que git log, telles que --since ou -- src/.
Comment trouver le commit qui a ajouté une ligne de code spécifique ?
Utilisez la recherche par pioche. git log -S"text" répertorie les commits qui ont modifié le nombre de fois où cette chaîne exacte apparaît, ce qui indique quand elle a été ajoutée et supprimée. git log -G"regex" fait correspondre les lignes ajoutées ou supprimées à une expression régulière. Dans GitTree, ouvrez la palette de commandes, tapez # et utilisez change:text ou change:/regex/ pour les mêmes recherches.
Est-ce que GitTree est gratuit et sur quels systèmes fonctionne-t-il ?
GitTree propose un forfait gratuit qui couvre toutes les fonctionnalités de Git, pour les particuliers et les organisations, dépôts privés et utilisation commerciale inclus, sans limite de durée et sans carte de crédit. Nour, l'assistant IA, est livré avec GitTree Pro ; la page Tarifs compare les deux plans. Il fonctionne sur macOS 13 ou version ultérieure, 64 bits Windows 10 et 11 et 64 bits Linux (Ubuntu 22.04 ou version ultérieure, Debian 12 ou version ultérieure). Il vous demande de vous connecter avec un compte GitTree et utilise le Git déjà installé sur votre ordinateur, version 2.39 ou ultérieure ; GitTree Pro est requis pour l'hébergement des intégrations.
Un visualiseur de graphiques Git peut-il gérer de très grands référentiels ?
Le graphique du terminal gère n'importe quelle taille mais devient difficile à lire avec de nombreuses branches ; limitez-le avec des noms de branche, --since ou un chemin. Le graphique de validation de GitTree défile en douceur au-delà de 100 000 validations dans les mesures sur Linux, et vous pouvez masquer, isoler ou épingler des branches et filtrer par auteur, date ou chemin pour conserver un historique volumineux lisible.
Sources
Les allégations concernant d'autres produits ont été vérifiées par rapport à leurs pages officielles sur 22 octobre 2026. Les prix et les fonctionnalités changent ; les pages des fournisseurs sont la source de vérité.