Outil CLI
jesseduffield/lazygit avatar
jesseduffield/lazygit

lazygit : une interface terminal simple pour les commandes git

lazygit est une interface de terminal permettant de transférer des fichiers, d'inspecter les différences, de gérer les branches, de rebaser et de résoudre les tâches Git courantes.

82 364 étoiles3 037 forksGoMIT
GitHub

En bref

De quoi s’agit-il ?
Une interface terminal écrite en Go pour le staging, le rebase interactif et les correctifs personnalisés.
À qui s’adresse-t-il ?
Le README suffit pour comprendre ce que fait lazygit et comment l'installer, mais pour les détails propres à une version, les notes de version et l'historique des issues, il faut consulter les releases et le suivi de problèmes du dépôt.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 1 jour.
En quel langage est-il écrit ?
Principalement Go, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Une interface terminal simple pour les commandes git

Le dépôt décrit lazygit comme une interface terminal simple pour les commandes git, écrite en Go. Le pitch du README est direct : git est puissant, mais des opérations quotidiennes comme le rebase interactif et le staging de parties d'un fichier peuvent être douloureuses. lazygit est présenté comme une alternative pour ceux qui préfèrent faire ces opérations dans une interface TUI plutôt qu'avec des incantations en ligne de commande. Le README ne revendique aucun chiffre de performance ni statistique d'utilisateurs.

Staging, rebase et opérations courantes

Le README illustre une série d'opérations courantes avec des GIF animés. Vous pouvez staguer des lignes individuelles avec la barre d'espace, sélectionner une plage avec v, ou sélectionner un hunk entier avec a. Le rebase interactif démarre avec i, puis squash, fixup, drop, edit, monter et descendre sont disponibles sur les commits en attente, avec le menu d'options de rebase accessible via m. Le cherry-pick consiste à copier et coller des commits, le bisect démarre depuis la vue des commits avec b, et l'option nuke dans le menu de reset efface tout ce que git status affiche, y compris les sous-modules sales.

Correctifs, worktrees et annulation

Au-delà des bases, le README couvre des opérations plus difficiles en ligne de commande. Vous pouvez créer un correctif personnalisé à partir d'un ancien commit, le retirer de ce commit ou l'appliquer en sens inverse. Vous pouvez marquer un commit de base et rebaser uniquement les commits de votre branche de fonctionnalité sur une autre branche. Les worktrees se créent depuis la vue des branches avec w. L'annulation et le rétablissement sont liés à z et shift+z ; le README précise que l'annulation utilise le reflog, elle ne peut donc pas annuler les modifications de l'arbre de travail ou du stash. Le graphe de commits colore les commits par auteur et met en évidence les parents du commit sélectionné. Pour comparer deux commits, marquez-en un avec shift+w puis sélectionnez-en un autre ; le diff peut être inversé ou quitté avec escape. Le panneau des branches peut afficher les pull requests GitHub si l'outil gh est installé et authentifié.

Installation et distribution

Le README énumère de nombreux chemins d'installation : versions binaires pour Windows, macOS 10.12+ et Linux, ainsi que des paquets pour Homebrew, MacPorts, Void Linux, Scoop, Arch Linux, Fedora, Amazon Linux 2023, CentOS Stream, Solus, Debian et Ubuntu, Funtoo, Gentoo, openSUSE, NixOS, Flox, FreeBSD, Termux, Conda, Go, Chocolatey et Winget. Une fonctionnalité de conteneur de développement tierce est également mentionnée. Le README avertit que la plupart de ces paquets sont maintenus par des tiers et que les utilisateurs doivent les vérifier. Pour une installation manuelle, le README indique de cloner le dépôt et d'exécuter go install, ou d'utiliser go run main.go pour compiler et exécuter en une seule fois.

Utilisation et configuration

L'utilisation est simple : appelez lazygit dans un terminal à l'intérieur d'un dépôt git. Vous pouvez ajouter un alias comme lg dans un fichier rc de votre shell. Le README documente les raccourcis clavier dans un dossier docs séparé et explique comment faire changer de répertoire au shell à la sortie en définissant LAZYGIT_NEW_DIR_FILE et en utilisant une fonction shell. La configuration est couverte dans docs/Config.md, avec des documents dédiés aux rendus de diff personnalisés et aux commandes personnalisées. lazygit prend en charge Gitflow si les outils git-flow sont installés ; dans la vue des branches, les options Gitflow sont accessibles via i. Le README ne documente pas une liste complète des options de ligne de commande, en dehors des flags debug et logs mentionnés dans la section contribution.

Contribution, support et alternatives

Le dépôt invite aux contributions et fournit des liens vers un guide de contribution et un canal Discord. Pour le débogage local, le README suggère d'exécuter lazygit --debug dans un terminal et lazygit --logs dans un autre afin de voir le programme et ses journaux côte à côte. Le projet a une page de sponsors, et le README demande un soutien car lazygit n'est pas un emploi à temps plein. La FAQ explique les couleurs des commits : vert pour les commits inclus dans la branche master, jaune pour ceux qui n'y sont pas, rouge pour ceux qui ne sont pas encore poussés vers la branche amont. Le README liste également des alternatives : GitUI, tig et GitArbor TUI.

Licence et limites des sources

Le projet est sous licence MIT, copyright 2018 Jesse Duffield. La licence accorde la permission d'utiliser, copier, modifier, fusionner, publier, distribuer, sous-licencier et vendre des copies du logiciel, à condition d'inclure l'avis de copyright et de permission. Le logiciel est fourni tel quel, sans garantie d'aucune sorte. Le texte de la licence ne traite pas de la posture de sécurité, des engagements de support ou des politiques de contribution ; c'est dans le README qu'il faut chercher, et celui-ci ne fournit pas non plus d'historique de versions ni de résultats de benchmarks.

Conclusion éditoriale

Le README suffit pour comprendre ce que fait lazygit et comment l'installer, mais pour les détails propres à une version, les notes de version et l'historique des issues, il faut consulter les releases et le suivi de problèmes du dépôt.

Sources officielles

  1. Official README
  2. Project repository
  3. Release notes
Notes de la communauté

Notes de la communauté