×

Blog

Git Gui: le Guide Complet

Vous en avez assez de taper des commandes Git dans un terminal? Pourquoi ne pas utiliser une interface graphique? Aujourd’hui nous allons voir ensemble comment utiliser Git Gui qui est l’interface de base fournie avec Git.

Installer Git Gui

Quand je dis que Git Gui est de base installée avec Git ce n’est pas tout à fait juste et ça dépend de comment vous avez installé ce dernier.

Installeur

Si vous avez installé Git via un installeur, il faut avoir coché la case correspondante à Git Gui.

git gui installer windows
Installation de Git sous Windows

Lignes de commandes

Si vous avez utilisé plutôt les lignes de commandes comme par exemple, sous Linux, il faut avoir utilisé la commande suivante:

sudo apt-get install git-all

Il ne faut pas oublier “-all” car c’est lui qui permet d’installer les packages supplémentaires comme Git Gui.

Lancer Git Gui

Pour lancer Git gui, il y a plusieurs possibilités. Soit en ligne de commande:

git gui

soit, sous Windows via le menu démarrer ou le menu contextuel du clic droit dans un dossier.

git gui sous windows
Lancer Git Gui sous Windows

Si vous lancez Git Gui en dehors d’un dépôt en local vous aurez l’affichage suivant. 

git gui menu démarrage
Git Gui menu démarrage
  1. Permet de créer un nouveau dépôt Git en local, en indiquant le nom de celui-ci. Cela est équivalent à la commande: git init [mon_repo].
  2. Permet de cloner un dépôt distant en local en indiquant le chemin vers la source et le dossier de destination. équivalent à: git clone [url_du_dépôt_source] [mon_dossier_local].
  3. Permet d’ouvrir le dépôt en local spécifié avec l’outil Git Gui
  4. Liste les derniers dépôts ouverts avec Git Gui.

  5. Menu dans lequel vous retrouverez l’ensemble des actions que nous venons de voir.

Remarque: Si vous lancez Git Gui depuis un dépôt, cela revient à lancer l’outil en mode “ouverture de dépôt” en local avec comme chemin le dossier courant (3).

Interface principale de Git Gui

Vue d’ensemble

git gui
Git Gui

Voici la vue d’ensemble de l’interface graphique Git Gui. Nous allons voir chacun de ces points dans la suite de l’article:

  1. État du workspace en haut et état de la zone d’index en bas. De plus, tout en haut nous pouvons trouver le nom de la branche courante. C’est finalement l’équivalent de la commande: git status.
  2. Modifications courantes du fichier sélectionné dans la partie (1). C’est l’équivalent de la commande: git diff [mon_fichier].
  3. Permet en outre de réaliser ou modifier des commits puis de les pousser sur le remote.
  4. Barre de menu de l’outil qui regroupe l’ensemble des actions disponibles dans les autres parties de l’interface et bien plus encore. 

1- Zone de status

Divisée en deux parties cette colonne correspond à peu de chose prêt à ce que nous donne la commande git status. En haut les éléments du workspace. En bleu les fichiers modifiés , en blanc les nouveaux fichiers et en rouge ceux qui sont supprimés.

Il est possible de cliquer sur l’icone de ces fichiers pour les indexer, ce qui équivaut à la commande git add. Ces fichiers passent alors dans la zone d’index représentée ici par la partie du bas.

Cette fois-ci, les nouveaux fichiers sont en blancs, les modifiés en verts et les supprimés en rouges. Pour les désindexer , il vous suffit de cliquer également sur l’icône du fichier.

Si vous voulez indexer ou désindexer plusieurs fichiers en même temps vous pouvez les sélectionner puis dans le menu “commit” utiliser “stage to commit”.

2- Zone de diff

Si vous cliquez sur le nom du fichier et non sur l’icone, dans la zone de status (1), alors vous pouvez voir dans la partie de droite l’équivalent de la commande: git diff. Comme avec la commande du terminal vous voyez en vert (+) les ajouts et en rouge (-) les suppressions. Pour chaque blocs de modifications, il y a une indication sur où se trouve cette partie de code dans le fichier source.

Dans l’affichage du diff il est possible de sélectionner uniquement la partie des modifications que l’on souhaite indexer ou désindexer puis de faire un clic droit pour afficher le menu contextuel permettant de le faire.

3- Zone de commit et push

Cette zone correspond à la gestion des commits.

Pour commencer il y a le bouton “rescan” qui permet de rafraîchir le contenu de Git Gui par rapport aux changements éventuels de votre dépôt. Par exemple si vous modifiez un fichier alors que Git Gui est lancée, alors vous verrez ces modifications dans l’outil uniquement si vous cliquez sur ce bouton ou en utilisant le raccourci clavier F5.

Puis le bouton “Stage changed” qui permet d’indexer toutes les modifications présentes dans le workspace (1).

Le bouton “Sign off” permet simplement d’ajouter une signature à votre message de commit en incluant votre nom et adresse mail enregistrés lors de l’utilisation des commandes git config.

Justement, la zone de texte “Commit message” permet de personnaliser le message accompagnant le commit.

Puis nous avons le bouton “commit” qui permet de lancer la commande git commit avec l’option -m pour le message.

Enfin, le bouton “Push”, permet de pousser les modifications sur le remote. Si vous cliquez sur ce bouton, vous aurez alors l’affichage suivant:

gi
Git Gui Push
  1. Source Branches: permet de selectionner la branche que l’on souhaite pousser. Par défaut, c’est la branche courante qui est sélectionnée.
  2. Destination Repository: permet de choisir le remote sur lequel on souhaite pousser nos modifications.
  3. Transfer Options: offre différentes options de customisation du push. Attention à la première option “Force …” car elle écrase la branche distante par la votre en local.

Remarque: la zone 3 propose deux “types de commit”, accessibles via les pastilles:

  • New commit: qui permet de créer un nouveau commit
  • Ammend last commit: qui permet de modifier le dernier commit effectué en local (message, contenu, …).

4- Zone de menu

La barre de menu de l’interface Git Gui permet principalement d’effectuer les actions que nous venons de voir mais pas que.

Help

Permet d’avoir la documentation de l’outil ou encore le numéro de version de celui-ci.

Edit

Rien de spécial ici, vous y trouvez les mêmes actions que dans toutes autres interfaces graphiques (copier, coller, annuler, …)

Branch

 Permet de gérer les branches de votre dépôt, vous pouvez:

  • Créer une branche.
  • Supprimer une branche.
  • Se déplacer sur une branche.
  • Et plus encore.

Commit

Dans ce menu vous trouverez toutes les actions de gestion des commits:

  • Indexer / désindexer les modifications.
  • Faire un commit.
  • Modifier le dernier commit local effectué.
  • Et plus encore.

Merge

Permet de faire un merge ou d’annuler un en cours.

Remote

Permet de gérer les remotes de votre dépôt. Vous pouvez alors:

  • Ajouter ou supprimer un remote.
  • Supprimer une branche d’un remote.
  • Pousser les modifications sur un remote.
  • Et plus encore.

Tools

Ce menu est un peu spécial car il permet d’ajouter de nouvelles actions dans la barre de menu pour compléter celles déjà présentes.

Pour rappel, Git Gui est l’interface graphique d’un outil en ligne de commande. De ce fait, toutes les possibilités offertes par Git ne sont pas disponibles dans Git Gui. Pour en savoir plus, c’est ici.

git gui tools
Git Gui ajout d’un tool

Pour ajouter un nouveau tool, c’est très simple, il suffit d’indiquer le nom que l’on souhaite lui donner puis d’indiquer la commande à exécuter lorsque l’on cliquera sur cette nouvelle entrée de menu.

Lorsque l’on clique sur cette nouvelle entré de menu, la commande passée en paramètre est exécutée et le résultat est affiché dans une nouvelle fenêtre.

git gui tool
Git Gui tool: git tag

Repository

Ce dernier menu permet de gérer le dépôt courant, vous pouvez entre autre:

  • Ouvrir le dossier contenant le dépôt.
  • Lancer un terminal dans ce dossier.
  • Gérer la base de donnée du dépôt.
  • Lister les fichiers gérés par le dépôt. Pour chaque fichier il est alors possible d’afficher les informations détaillées sur son historique comme on peut le faire avec git blame.
  • Afficher l’historique de votre dépôt via l’outil gitk
  • Et bien plus encore
git gui blame
git gui: git blame

Remarque: Le guide d’utilisation de gitk se fera dans un prochain article.

Et maintenant?

Si vous souhaitez en apprendre plus sur Git, je vous conseil soit un bon livre ou encore mieux une bonne formation vidéo.

Voici ma petite sélection:
Pour ceux qui, comme moi, préfèrent une bonne formation vidéo avec plus de pratique que de théorie: Formation Vidéo
Pour les amoureux des livres
Pour les autres, La documentation officielle.

Recevez gratuitement votre fiche de synthèse sur l’outils Git

Vous trouverez dans ce document un condensé des commandes les plus utilisées avec à chaque fois une petite description de celle-ci.

En bonus, j’ai ajouté à la fin du document un schéma qui résume les différents workflows d’utilisation de ces commandes.

Votre email restera confidentielle, zéro spam.