Article original : How to Use Lazygit to Improve Your Git Workflow
Lazygit est une interface utilisateur de terminal en ligne de commande open-source pour les commandes Git que j'ai utilisée au cours des dernières années, et elle est devenue ma nouvelle meilleure amie.
En gros, l'outil Lazygit est un wrapper pour la ligne de commande Git qui la remplace par une interface utilisateur. Au lieu de taper encore et encore les commandes Git dans votre terminal, vous pouvez utiliser des raccourcis clavier pour commiter, pousser, tirer, créer, éditer et supprimer des branches dans votre projet.
En termes simples, Lazygit vous aide à augmenter votre productivité tout en travaillant avec Git.
Dans cet article, nous allons passer en revue les fonctionnalités essentielles de Lazygit, et je vous montrerai comment il fonctionne.
Table des matières :
Comment installer Lazygit
Avant de commencer, vous devrez vous assurer qu'il est installé sur votre machine. Vous pouvez installer l'outil dans votre système en utilisant les méthodes suivantes (selon votre système) :
Homebrew
Vous pouvez installer lazygit dans macOS en utilisant Homebrew comme ceci :
brew install lazygit
Scoop (Windows)
Vous pouvez installer lazygit dans Windows en utilisant Scoop comme ceci :
# Ajouter le bucket extras
scoop bucket add extras
# Installer lazygit
scoop install lazygit
Arch Linux
Vous pouvez installer lazygit dans Arch en utilisant Pacman comme ceci :
sudo pacman -S lazygit
Ubuntu et Debian
Vous pouvez installer lazygit dans Ubuntu et Debian en utilisant la commande suivante :
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | \grep -Po '"tag_name": *"v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit -D -t /usr/local/bin/
Vérifiez l'installation correcte de lazygit :
lazygit --version
La sortie de la commande ressemble à ceci :
[1;34m[0m lazygit --version
commit=, build date=, build source=nix, version=0.44.1, os=linux, arch=amd64, git version=2.47.0
Fedora et RHEL
Vous pouvez installer lazygit dans Fedora et RHEL en utilisant DNF comme ceci :
sudo dnf copr enable atim/lazygit -y
sudo dnf install lazygit
NixOS
Vous pouvez installer lazygit dans NixOS en utilisant la méthode suivante :
# avec nix-shell
nix-shell -p lazygit
# avec nix-env
nix-env -iA lazygit
# avec /etc/nixos/configuration.nix
environment.systemPackages = [
pkgs.lazygit
];
# ou avec enable lazygit flakes
nix run nixpkgs#lazygit
Comment utiliser Lazygit
Pour utiliser Lazygit, vous n'avez pas besoin de connaissances avancées sur Lazygit ou la CLI Git. Si vous êtes débutant, ce n'est pas grave - je vais vous guider à travers le processus et les bases ici.
La chose principale à comprendre est le fonctionnement des mappings de touches (raccourcis clavier). Dans ce tutoriel, je ne vais pas discuter de chaque mapping de touches, mais je vais vous enseigner quelques-uns des mappings de touches Lazygit les plus courants que vous utiliserez au quotidien. Ils vous aideront à construire une base solide pour utiliser l'outil efficacement.
Pour utiliser Lazygit, ouvrez d'abord le terminal que vous utilisez. Par exemple, j'utilise la distribution GNOME, donc j'utiliserai le terminal Ptyxis.
Tapez la commande lazygit dans votre terminal :
lazygit
La sortie de la commande devrait ressembler à ceci dans votre terminal :

L'interface utilisateur de Lazygit est divisée en six panneaux, ou sections. Chaque panneau sert un cas d'utilisation spécifique. Explorons ces panneaux plus en détail. Vous pouvez les voir mis en évidence dans l'image ci-dessous :

Panneaux ou sections dans Lazygit
Comme je l'ai mentionné ci-dessus, il y a six panneaux principaux dans Lazygit. Ils sont :
Statut
Fichiers
Branches
Commits
Stash
Aperçus
Les panneaux les plus importants dans Lazygit sont les fichiers, les branches et les commits, mais nous allons examiner chacun des six maintenant.
Panneau de statut
Le panneau de statut fournit un aperçu de votre dépôt actuel et de la branche actuellement extraite, y compris les modifications locales et distantes.

De plus, lorsque vous cliquez sur le texte du panneau de statut, il ouvre un nouvel onglet ou panneau où il affiche la liste des dépôts récemment ouverts.

Panneau des fichiers
Le panneau des fichiers affiche les listes des fichiers dans votre dépôt qui ont été modifiés ou changés. Vous pouvez voir les fichiers que vous avez supprimés ou rejetés et non mis en scène.

Panneau des branches
Le panneau des branches affiche les listes des branches locales et distantes disponibles dans ce dépôt.

Panneau des commits
Le panneau des commits affiche une liste des commits dans la branche actuelle, ce qui vous permet de visualiser, extraire ou interagir avec (visualiser/annuler/etc.) des commits spécifiques.

Panneau des stashes
Le panneau des stashes vous aide à gérer vos changements stashés, vous permettant de les appliquer, supprimer ou visualiser. Git stash est un emplacement pour stocker les changements non commités (fichiers modifiés, mis en scène ou non suivis) dans un endroit caché, vous permettant de changer de branche sans commiter ou rejeter les changements.

Panneau de prévisualisation
Le panneau de prévisualisation vous permet de prévisualiser les changements non mis en scène, les commits, les logs, le contenu des fichiers, etc. dans Lazygit.

Pour basculer entre les panneaux, utilisez les touches fléchées gauche et droite ou les raccourcis clavier spécifiques affichés en haut de chaque panneau.
Appuyez sur 1 pour ouvrir le panneau de statut, 2 pour les fichiers, 3 pour les branches, 4 pour les commits, et 5 pour le panneau de stash.

Raccourcis et mappings de touches dans Lazygit
Lazygit est particulièrement populaire grâce à ses raccourcis. Vous n'avez pas besoin d'écrire les mêmes commandes Git dans le terminal encore et encore. Au lieu de cela, vous devez simplement utiliser un raccourci.
Par exemple, habituellement lorsque vous commitez un fichier, vous ajoutez d'abord le fichier en utilisant git add puis vous commitez le fichier en utilisant git commit.
Mais dans Lazygit, vous devez simplement sélectionner le fichier en utilisant votre souris ou les touches haut et bas et appuyer sur espace pour commiter le fichier.
Dans Lazygit, tout fonctionne autour des commandes de raccourci, et vous utilisez des raccourcis pour effectuer des opérations Git courantes. Voici quelques commandes essentielles que nous allons passer en revue dans ce tutoriel :
a– Mettre en scène ou annuler la mise en scène de tous les fichiers disponibles dans le panneau des fichiers.espace(panneau des fichiers) – Mettre en scène ou annuler la mise en scène d'un seul fichier dans le panneau des fichiers.c– Commiter les changements mis en scène en ouvrant un éditeur de message de commit.p– Pousser les commits vers le dépôt distant.P– Tirer les changements depuis le dépôt distant.z– Annuler le commit.s– Stasher les changements, vous permettant de changer de branche ou d'effectuer d'autres opérations.S– Visualiser et appliquer les changements stashés.n– Créer une nouvelle branche.d– Supprimer votre branche.y– Copier dans le presse-papiers.M– Fusionner la branche.espace(panneau des branches) – Extraire la branche cible sélectionnée.e– Éditer ou ouvrir le fichier dans un éditeur externe.q– Quitter Lazygit et revenir au terminal.d– Rejeter tout changement dans le fichier.?– Ouvrir le menu des raccourcis clavier.
Maintenant, passons en revue ces raccourcis afin que vous puissiez comprendre comment ils fonctionnent et les voir en action.
Comment commiter un fichier
Pour commiter un fichier dans Lazygit, sélectionnez d'abord le fichier dont vous avez besoin en appuyant sur la touche espace ou la touche a ou en double-cliquant sur le fichier. Ensuite, appuyez sur c, et un nouveau panneau devrait s'ouvrir. Là, vous pouvez ajouter un message et appuyer sur Entrée pour commiter le fichier.

Comment tirer et pousser du code
Pour tirer le code distant depuis le serveur Git (Github, GitLab, Gitea, etc.), vous pouvez appuyer sur p (p minuscule) :

Pour pousser le code local vers un serveur Git, vous pouvez appuyer sur P (P majuscule) :

Comment créer et supprimer une branche
Pour créer une nouvelle branche dans Lazygit, appuyez sur n. Un nouveau panneau s'ouvrira où vous ajouterez le nom de la branche et appuierez sur Entrée.

Pour supprimer une branche, appuyez sur d puis spécifiez si vous souhaitez supprimer la branche dans un dépôt local ou distant. Dans l'exemple suivant, je supprime une branche locale.

Note : Pour supprimer et créer une nouvelle branche dans Lazygit, sélectionnez d'abord le panneau des branches puis appuyez sur la touche de raccourci correspondante pour supprimer une branche. Appuyez sur la touche d pour supprimer, puis pour créer une branche, appuyez sur la touche n. Sinon, cela ne fonctionnera pas.
Comment annuler un commit
Pour annuler le dernier commit dans Lazygit, appuyez simplement sur z. Un nouveau panneau s'ouvrira, montrant les détails du commit que vous annulez. Ensuite, appuyez sur Entrée.

Comment fusionner une branche
Pour fusionner une branche, appuyez sur M (M majuscule). Pour ouvrir les options de fusion, choisissez le type de fusion, puis appuyez sur Entrée.
Type de fusion :
Fusion : Une fusion standard, préservant l'historique de la branche.
Fusion squash : Combine tous les commits de la branche en un seul commit sur la branche cible.
Fusion squash et laisser non commité : Identique à la fusion squash, mais laisse les changements non commités.

Comment résoudre les conflits de fusion
Pour résoudre les conflits de fusion dans Lazygit, fusionnez d'abord une branche en appuyant sur M, puis choisissez le type de fusion (que je décris dans la sous-section sur la façon de fusionner une branche) et appuyez sur Entrée.
Si des conflits de fusion se produisent, le(s) fichier(s) en conflit apparaissent dans le panneau des fichiers. Appuyez sur Entrée pour visualiser les conflits de fusion dans le panneau de prévisualisation et naviguez entre les conflits en utilisant les touches haut et bas. Sélectionnez les conflits de fusion corrects, appuyez sur la touche espace, et votre problème de fusion sera résolu.

Comment rejeter les changements
Pour rejeter ou supprimer tout changement dans un fichier ou un commit, appuyez sur d.

Comment copier
Pour copier un nom de fichier, un chemin, un hash de commit, un message, une URL, un auteur ou tout autre détail, sélectionnez d'abord le commit ou le fichier, puis appuyez sur y pour copier l'information.

Autres raccourcis clavier dans Lazygit
Il existe d'autres raccourcis clavier dans Lazygit que je n'ai pas discutés dans cet article. Pour en savoir plus sur chaque raccourci clavier, vous pouvez consulter le menu des raccourcis clavier. Ouvrez le menu des raccourcis clavier et appuyez sur ?.

Lorsque vous ouvrez le menu d'aide des raccourcis clavier, il change en fonction du panneau dans lequel vous vous trouvez.

Conclusion
Lazygit vous aide à devenir plus productif lorsque vous travaillez avec Git ou les commandes Git. En tant que débutant, commencer avec Lazygit peut être quelque peu difficile en raison de ses mappings de touches, mais une fois que vous les maîtrisez, ils sont assez faciles à retenir et à utiliser.
Si vous êtes un utilisateur de Lazygit pour la première fois, ma suggestion est d'éviter d'utiliser Lazygit sur un dépôt de travail. Au lieu de cela, créez un dépôt de démonstration et essayez-le/practiquez.
Pour en savoir plus sur les raccourcis ou raccourcis clavier de LazyGit, vous pouvez vous référer à la documentation de Lazygit. Vous pouvez également consulter les tutoriels YouTube suivants pour les débutants :