Section courante

A propos

Section administrative du site

Git dans d'autres environnements - Interfaces graphiques

Si vous connaissez Git, vous savez que vous pouvez travailler avec des fichiers locaux, connecter votre dépôt à d'autres via un réseau et travailler efficacement avec d'autres. Mais l'histoire ne s'arrête pas là; Git est généralement utilisé dans le cadre d'un écosystème plus vaste, et le terminal n'est pas toujours le meilleur moyen de l'utiliser. Nous allons maintenant examiner certains des autres types d'environnements dans lesquels Git peut être utile, et comment d'autres applications (y compris la vôtre) fonctionnent aux côtés de Git.

Interfaces graphiques

L'environnement natif de Git se trouve dans le terminal. Les nouvelles fonctionnalités y apparaissent en premier, et c'est uniquement sur la ligne de commande que vous disposez de toute la puissance de Git. Mais le texte brut n'est pas le meilleur choix pour toutes les tâches ; parfois, une représentation visuelle est ce dont vous avez besoin, et certains utilisateurs sont beaucoup plus à l'aise avec une interface pointer-cliquer.

Il est important de noter que différentes interfaces sont adaptées à différents flux de travail. Certains clients n'exposent qu'un sous-ensemble soigneusement sélectionné de fonctionnalités Git, afin de prendre en charge une manière de travailler spécifique que l'auteur considère comme efficace. Vu sous cet angle, aucun de ces outils ne peut être qualifié de «meilleur» que les autres, ils sont simplement plus adaptés à l'usage auquel ils sont destinés. Notez également que ces clients graphiques ne peuvent rien faire que le client en ligne de commande ne puisse faire ; la ligne de commande reste l'endroit où vous aurez le plus de puissance et de contrôle lorsque vous travaillerez avec vos dépôts.

gitk et git-gui

Lorsque vous installez Git, vous obtenez également ses outils visuels, gitk et git-gui.

gitk est un visualiseur d'historique graphique. Considérez-le comme un puissant interpréteur de commande GUI sur git log et git grep. C'est l'outil à utiliser lorsque vous essayez de trouver quelque chose s'étant produit dans le passé ou de visualiser l'historique de votre projet.

Gitk est le plus facile à appeler à partir de la ligne de commande. Il suffit d'accéder à un dépôt Git et de saisir :

gitk [git log options]

Gitk accepte de nombreuses options de ligne de commande, dont la plupart sont transmises à l'action git log sous-jacente. L'une des plus utiles est probablement l'option --all, indiquant à gitk d'afficher les commits accessibles depuis n'importe quelle référence, pas seulement HEAD. L'interface de Gitk ressemble à ceci :

En haut, il y a quelque chose ressemblant un peu à la sortie de git log --graph ; chaque point représente un commit, les lignes représentent les relations parentes et les références sont affichées sous forme de cases colorées. Le point jaune représente HEAD et le point rouge représente les modifications devant encore être converties en commit. En bas, il y a une vue du commit sélectionné ; les commentaires et le patch à gauche et une vue récapitulative à droite. Entre les deux, il y a une collection de contrôles utilisés pour rechercher l'historique.

git-gui, en revanche, est principalement un outil de création de commits. Il est également plus facile à invoquer à partir de la ligne de commande :

git gui

Et cela ressemble à ceci :

À gauche se trouve l'index; les modifications non mises en scène sont en haut, les modifications mises en scène en bas. Vous pouvez déplacer des fichiers entiers entre les deux états en cliquant sur leurs icônes, ou vous pouvez sélectionner un fichier à afficher en cliquant sur son nom.

En haut à droite se trouve la vue diff, montrant les modifications du fichier actuellement sélectionné. Vous pouvez mettre en scène des morceaux individuels (ou des lignes individuelles) en cliquant avec le bouton droit dans cette zone.

En bas à droite se trouve la zone de message et d'action. Tapez votre message dans la zone de texte et cliquez sur «Commit» pour faire quelque chose de similaire à git commit. Vous pouvez également choisir de modifier le dernier commit en choisissant le bouton radio «Amend», mettant à jour la zone «Staged Changes» avec le contenu du dernier commit. Vous pouvez ensuite simplement mettre en scène ou annuler certaines modifications, modifier le message de validation et cliquer à nouveau sur «Commit» pour remplacer l'ancien commit par un nouveau.

gitk et git-gui sont des exemples d'outils orientés tâches. Chacun d'entre eux est adapté à un objectif spécifique (respectivement afficher l'historique et créer des commits) et omet les fonctionnalités qui ne sont pas nécessaires à cette tâche.

GitHub pour macOS et Windows

GitHub a créé deux clients Git orientés flux de travail : un pour Windows et un pour macOS. Ces clients sont un bon exemple d'outils orientés flux de travail : plutôt que d'exposer toutes les fonctionnalités de Git, ils se concentrent plutôt sur un ensemble organisé de fonctionnalités couramment utilisées fonctionnant bien ensemble.

Ils sont conçus pour se ressembler et fonctionner de manière très similaire, nous les traiterons donc comme un seul produit dans cette page. Nous n'allons pas faire un aperçu détaillé de ces outils, mais une visite rapide de la vue «modifications» (étant celle où vous passerez la plupart de votre temps) s'impose.

Remarque : Vous n'avez pas besoin d'un compte GitHub pour utiliser ces outils. Bien qu'ils soient conçus pour mettre en valeur le service GitHub et le flux de travail recommandé, ils fonctionneront avec plaisir avec n'importe quel dépôt et effectueront des opérations réseau avec n'importe quel hôte Git.

Installation

Vous pouvez télécharger GitHub pour Windows et macOS à partir de https://desktop.github.com/. Lorsque les applications sont exécutées pour la première fois, elles vous guident tout au long de la configuration initiale de Git, comme la configuration de votre nom et de votre adresse de courriel, et toutes deux définissent des valeurs par défaut saines pour de nombreuses options de configuration courantes, telles que les caches d'informations d'identification et le comportement CRLF.

Les deux sont «persistantes» : les mises à jour sont téléchargées et installées en arrière-plan pendant que les applications sont ouvertes. Cela inclut une version groupée de Git, ce qui signifie que vous n'aurez probablement pas à vous soucier de la mettre à jour manuellement à nouveau. Sous Windows, le client inclut un raccourci pour lancer PowerShell avec Posh-git.

L'étape suivante consiste à donner à l'outil des dépôts avec lesquels travailler. Le client vous montre une liste des dépôts auxquels vous avez accès sur GitHub et peut les cloner en une seule étape. Si vous disposez déjà d'un dépôt local, faites simplement glisser son répertoire depuis le Finder ou l'Explorateur Windows vers la fenêtre du client GitHub, et il sera inclus dans la liste des dépôts sur la gauche.

Flux de travail recommandé

Une fois installé et configuré, vous pouvez utiliser le client GitHub pour de nombreuses tâches Git courantes. Le flux de travail prévu pour cet outil est parfois appelé «flux GitHub». La gestion des branches est l'un des domaines dans lesquels les deux outils divergent.

Une fois votre branche créée, il est assez simple de faire de nouveaux commits. Apportez quelques modifications dans votre répertoire de travail et lorsque vous passez à la fenêtre du client GitHub, elle vous montrera quels fichiers ont changé. Saisissez un message de validation, sélectionnez les fichiers que vous souhaitez inclure et cliquez sur le bouton «Commit» (Ctrl+Enter ou Cmd+Enter).

La principale façon d'interagir avec d'autres dépôts sur le réseau est via la fonctionnalité «Sync». Git dispose en interne d'opérations distinctes pour le push, la récupération, la fusion et le rebasage, mais les clients GitHub regroupent toutes ces opérations en une seule fonctionnalité en plusieurs étapes. Voici ce qui se passe lorsque vous cliquez sur le bouton Sync :

Il s'agit de la séquence de commandes réseau la plus courante lorsque l'on travaille dans ce style, donc les regrouper en une seule commande permet de gagner beaucoup de temps.

Résumé

Ces outils sont très bien adaptés au flux de travail pour lequel ils sont conçus. Les développeurs comme les non-développeurs peuvent collaborer sur un projet en quelques minutes, et de nombreuses bonnes pratiques pour ce type de flux de travail sont intégrées dans les outils. Cependant, si votre flux de travail est différent ou si vous souhaitez davantage de contrôle sur la manière et le moment d'effectuer les opérations réseau, nous vous recommandons d'utiliser un autre client ou la ligne de commande.

Autres interfaces graphiques

Il existe un certain nombre d'autres clients Git graphiques, et ils vont des outils spécialisés à usage unique jusqu'aux applications tentant d'exposer tout ce que Git peut faire. Voici la liste des outils GUI les plus connus :

Nom Plateforme Tarif Licence
Anchorpoint Mac, Windows Gratuit / 20€ Propriétaire
Aurees Linux, Mac, Windows Gratuit Propriétaire
CommandGit Windows 5,99 $/mois (essai gratuit de 14 jours) Propriétaire
Cong Windows Gratuit Propriétaire
Fork Mac, Windows 49,99 $ (évaluation gratuite) Propriétaire
Fugitive Linux, Mac, Windows Gratuit Vim
GitDrive iOS Gratuit / 6,99 $ Propriétaire
GitFinder Mac Gratuit (limité) / 29,95 $ (essai gratuit de 30 jours) Propriétaire
giggle Linux Gratuit GNU GPL
GitAhead (plus en développement actif) Linux, Mac, Windows Gratuit MIT
GitAtomic Windows 17,99 $+/utilisateur par an (essai gratuit de 30 jours) Propriétaire
GitBreeze Linux, Mac, Windows Gratuit Propriétaire
git-cola Linux, Mac, Windows Gratuit License: GNU GPL
Git Extensions Windows Gratuit License: GNU GPL
Gitfox Mac 39,99 €/utilisateur par an / 79,99 € (essai gratuit de 30 jours) Propriétaire
GitFiend Linux, Mac, Windows Gratuit Propriétaire
gitg Linux, Windows Gratuit GNU GPL
Gitgui Linux, Mac, Windows Gratuit MIT
GitHub Desktop Mac, Windows Gratuit MIT
Git Klient Linux Gratuit GNU GPL
GitKraken CLI Linux, Mac, Windows Gratuit / 48,00 $+/utilisateur par an Propriétaire
GitKraken Desktop Linux, Mac, Windows Gratuit / 48 $+/utilisateur par an Propriétaire
Gitnuro Linux, Mac, Windows Gratuit GNU GPL
gitonic Linux, Mac, Windows Gratuit AGPL-3.0 ou version ultérieure
GitUI Linux, Mac, Windows Gratuit, mais les dons sont les bienvenus MIT
GitUp Mac Gratuit GNU GPL
GitViewer Mac, iOS Gratuit / 6,99 $ (essai gratuit de 7 jours) Propriétaire
Gittyup Linux, Mac, Windows Gratuit MIT
GitVine Linux, Mac, Windows Gratuit Propriétaire
Glint Linux, Mac, Windows Gratuit / 35 $/utilisateur par an Propriétaire
Guitar Linux, Mac, Windows Gratuit GNU GPL
LazyGit Linux, Mac, Windows Gratuit MIT
Magit Linux, Mac, Windows Gratuit GNU GPL
MeGit (basé sur EGit) Linux, Mac, Windows Gratuit EPL2.0
NitroGit Windows Gratuit pour une utilisation non commerciale / 20€/utilisateur Propriétaire
Pocket Git Android 2,49 € /1,99 $ Propriétaire
PolyGit iOS Gratuit (limité) / 11,99 $/an / 39,99 $ Propriétaire
Pragma-git Linux, Mac, Windows Gratuit MIT
RelaGit Linux, Mac, Windows Gratuit LGPL-3.0 ou version ultérieure
RepoZ Mac, Windows Gratuit MIT
SmartGit Linux, Mac, Windows Gratuit pour une utilisation non commerciale / 59 $/utilisateur par an Propriétaire
SnailGit Mac Gratuit (limité) / 9,99 $ Propriétaire
SourceGit Linux, Mac, Windows Gratuit MIT
SourceTree Mac, Windows Gratuit Propriétaire
Sublime Merge Linux, Mac, Windows 99 $/utilisateur / 75 $/utilisateur par an (évaluation gratuite) Propriétaire
TortoiseGit Windows Gratuit GNU GPL
Tower Mac, Windows 69 $+/utilisateur par an (essai gratuit de 30 jours) Propriétaire
ungit Linux, Mac, Windows Gratuit MIT
Vershd Linux, Mac, Windows Gratuit pour une utilisation non commerciale / 37 $/utilisateur par an Propriétaire
Working Copy iOS Gratuit / 19,99 $ Propriétaire


Dernière mise à jour : Mardi, le 13 août 2024