GNU/Linux >> Tutoriels Linux >  >> Linux

40 commandes git utiles pour les administrateurs et les développeurs Linux

Git est un puissant outil de suivi des versions qui permet aux développeurs de suivre les modifications apportées à leur code source. C'est un outil largement utilisé par les développeurs open source. Bien qu'il ait été conçu pour coordonner les tâches de programmation, Git peut suivre efficacement n'importe quel ensemble de fichiers. De plus, il est développé par Linus Torvalds, l'homme derrière le noyau Linux lui-même. Ainsi, si vous êtes un développeur open source ajoutant des fonctionnalités à votre logiciel au fil du temps ou si vous travaillez avec plusieurs pairs pour développer des produits d'entreprise de pointe, Git peut être le système de suivi idéal pour votre travail. Restez avec nous pour apprendre certaines des commandes git fondamentales qui simplifieront considérablement vos cycles de développement.

Commandes git pratiques pour les développeurs Open Source

La CLI git propose un nombre considérable de commandes git pour faciliter le processus de développement logiciel pour les développeurs. Nos éditeurs ont décrit certaines des commandes de ce type les plus utiles pour la commodité de nos lecteurs. Alors, continuez à lire et découvrez-les à votre rythme.

1. Configurer le profil utilisateur

Vous pouvez configurer votre profil git à l'aide de la commande git config. Le moins que vous puissiez configurer est le nom d'utilisateur et l'adresse e-mail. Git permet aux utilisateurs de configurer ces politiques soit globalement, soit sur la base d'un projet. Utilisez la commande ci-dessous pour définir l'utilisateur et l'adresse e-mail pour chaque référentiel.

$ git config user.name "USERNAME"
$ git config user.email "[email protected]"

Ajoutez le –global possibilité de définir ces politiques globalement.

$ git config --global user.name "USERNAME"
$ git config --global user.email "[email protected]"

2. Initialiser les dépôts Git

Un référentiel git ou simplement repo est le répertoire racine de vos projets open source. Il contient les fichiers source, les sous-répertoires pour les objets, les en-têtes et les balises, entre autres. Vous pouvez facilement initialiser un dépôt git à l'aide de la commande suivante.

$ git init
- -

C'est l'une des commandes git les plus courantes que vous utiliserez dans votre vie. Vous pouvez maintenant commencer à ajouter vos fichiers source et les bricoler comme vous le souhaitez.

3. Ajouter des fichiers de projet

L'ajout de fichiers à des projets existants est très simple avec git. Vous pouvez facilement ajouter tous les fichiers/répertoires modifiés au système de suivi à l'aide de la commande git add. Jetez un coup d'œil à l'exemple ci-dessous pour voir comment cela fonctionne.

$ git add file
$ git add *.php

Lorsque vous émettez la commande git add, elle ajoutera tous les fichiers à l'index du projet à partir du répertoire de travail actuel. Vous pouvez spécifier des fichiers particuliers comme dans le premier exemple. Le deuxième exemple ajoutera tous les fichiers PHP à l'index. Git les marquera pour la mise en scène.

4. Vérifier les fichiers ajoutés

Vous pouvez vérifier les fichiers qui seront mis en scène lors de la prochaine validation à l'aide de la commande git status. Il affichera tous les nouveaux fichiers ou les fichiers qui ont été modifiés.

$ git status

Exécutez la commande ci-dessus chaque fois que vous souhaitez voir les détails. Il affichera une liste résumée de tous les fichiers qui seront mis en scène dans le prochain commit.

5. Valider les modifications dans le référentiel

Lorsque vous validez vos modifications, git prend un instantané de votre base de code. C'est ainsi que git garde une trace de vos modifications et fournit un contrôle de version. Vous devrez utiliser la commande git commit pour cela.

$ git commit

Lorsque vous exécutez la commande ci-dessus, git vous demandera d'entrer des informations comme l'ajout d'une description. Il invoquera l'éditeur Linux par défaut que vous avez configuré lors de votre installation de git. Utilisez la commande ci-dessous pour éviter cette indiscrétion.

$ git commit -m "First Commit"

Ainsi, vous pouvez ajouter la description directement si vous utilisez le -m option.

6. Afficher les journaux

Vous pouvez consulter les journaux chaque fois que vous souhaitez voir les modifications que vous avez apportées à votre référentiel. Utilisez simplement la commande git log pour le faire depuis le terminal Linux.

$ git log
$ git log --file

Le premier exemple montrera des informations générales sur vos commits git. Utilisez la deuxième commande si vous souhaitez afficher les modifications dans un fichier spécifique uniquement. Vous pouvez également ajouter de nombreuses autres options telles que –log-size option ou même rechercher des commits à l'aide d'expressions régulières.

7. Vérifier les branches du projet

Une branche git représente une ligne de développement indépendante dans votre projet. Vous pouvez vérifier votre branche actuelle très facilement en utilisant la commande git branch . Il affichera la branche actuellement active dans laquelle vous développez de nouvelles fonctionnalités ou modifiez les anciennes.

$ git branch

La sortie marquera la branche actuelle à l'aide d'un astérisque (*).

8. Réinitialiser les branches du projet

Vous pouvez facilement réinitialiser le référentiel actuel et le répertoire de travail à un état connu. La commande git reset ajustera la référence HEAD à un commit spécifique et mettra à jour l'index pour correspondre à ce commit particulier en conséquence.

$ git reset

Utilisez la commande suivante pour effectuer une réinitialisation logicielle de votre branche actuelle.

$ git reset --soft

Vous pouvez également effectuer une réinitialisation matérielle de la même manière. Remplacez simplement –soft avec le –hard option, comme illustré dans l'exemple ci-dessous.

$ git reset --hard

9. Ajouter une nouvelle succursale

L'ajout d'une nouvelle branche vous permet de travailler indépendamment sur de nouvelles fonctionnalités. Vous pouvez facilement ajouter une branche à l'aide de la commande git branch. Ajoutez simplement le nom de la succursale, comme indiqué ci-dessous.

$ git branch new-feature

Vérifiez si l'ajout a réussi ou non en lançant la commande git branch. Il devrait afficher la branche nouvellement créée appelée new-feature . Cependant, vous ne pouvez pas ajouter plus d'une branche en utilisant le même nom de branche. Cela provoquera une erreur fatale.

10. Basculer entre les succursales

Vous pouvez basculer entre les différentes branches de votre projet très facilement en utilisant la commande de paiement. C'est l'une des commandes git les plus utilisées lors du développement de logiciels. Jetez un coup d'œil à l'exemple suivant pour voir comment cela fonctionne.

$ git checkout new-feature

Cette commande vous avertira que la branche a été changée avec succès. Vous pouvez également vérifier cela en utilisant la commande git branch présentée précédemment.

11. Supprimer une branche de projet

Lorsque vous avez développé de nouvelles fonctionnalités avec succès, vous souhaitez qu'elles soient ajoutées à la branche git master. Une fois cela fait, vous pouvez supprimer complètement cette branche. Le -D L'option de la commande git nous permet de le faire très facilement.

$ git checkout master
$ git branch -D new-feature

Vous devez d'abord sortir de la branche pour pouvoir la supprimer avec succès. Sinon git lancera une erreur.

12. Vérifier les différences entre les commits, les arborescences et les fichiers

La commande git diff nous permet de visualiser les modifications de deux fichiers multiples, l'arbre de travail et l'arbre d'index, entre les commits et entre les objets blob. C'est l'une des commandes git les plus fondamentales utilisées pour suivre les changements dans les bases de code.

$ git diff
$ git diff new-feature master

Le premier exemple affichera les changements entre l'arbre de travail et l'arbre d'index. Le deuxième exemple affichera les modifications entre la branche master et la branche new-feature.

13. Fusionner deux branches

Vous pouvez facilement fusionner deux branches de développement différentes à l'aide de la commande git merge. Il combinera deux branches en une seule branche unifiée. Vous pouvez utiliser la commande git merge à plusieurs fins. Jetez un œil à l'exemple ci-dessous pour voir comment nous pouvons les utiliser.

$ git merge fixes new-feature
$ git merge -s ours obsolete
$ git merge --no-commit main

Le premier exemple fusionne deux branches new-feature et correctifs pour créer une seule branche. Le deuxième exemple fusionne la branche obsol] avec la branche de développement actuelle en utilisant le ours stratégie. Le dernier exemple fusionne la branche principale avec la branche actuelle mais désactive la validation automatique.

14. Rétablir les commits existants

Parfois, vous pouvez décider que certains de vos commits ne sont plus nécessaires. Dans de tels cas, il vaut mieux annuler ces commits que de modifier complètement la branche. La commande git revert nous permet de faire exactement cela.

$ git revert ad9ef37d88ad4gfyg90aa6a23f71e775982f4b
$ git revert HEAD~3

Le premier exemple annulera les modifications introduites par l'ID de validation f5ad9ef37d88ad4gfyg90aa6a23f71e775982f4b . Le deuxième exemple rechute l'avant-dernier commit dans HEAD et effectue un nouveau commit.

15. Répertoire de travail Stash

Vous pouvez enregistrer temporairement l'état actuel de votre répertoire de travail et y revenir plus tard quand vous le souhaitez. C'est ce qu'on appelle le stockage dans la terminologie git. Il stocke simplement l'état de votre répertoire de travail et l'index afin que vous puissiez travailler sur quelque chose de nouveau.

$ git stash

Les développeurs utilisent généralement cette commande lorsqu'ils sont pris dans une situation compliquée. Cela leur permet de stocker le flux de travail désordonné et de revenir le résoudre plus tard. Utilisez la commande de liste de cachette pour afficher votre liste de cachette.

$ git stash list

16. Cloner un dépôt

L'une des meilleures choses à propos de l'open source est que vous pouvez travailler sur le code d'autres personnes comme s'il s'agissait du vôtre. Git facilite le téléchargement d'un projet existant à l'aide de la commande git clone. Jetez un œil à l'illustration ci-dessous pour voir comment cela fonctionne dans la vie réelle.

$ git clone <GIT:URL>
$ git clone git://example.com/git.git/ test-dir

Cela téléchargera ledit projet dans le test-dir répertoire de votre système.

17. Extrayez les nouvelles mises à jour

Les projets réels évoluent tout le temps. Supposons que vous ayez déjà cloné un référentiel à partir d'un référentiel distant. Que ferez-vous lorsque les développeurs mettront à jour de nouvelles fonctionnalités dans ce référentiel ? Il n'est pas pratique de cloner le même dépôt encore et encore sur votre machine locale. La commande git pull vous évite cela.

$ git pull

Cette commande mettra à jour la version locale de votre projet avec toutes les nouvelles modifications apportées par les collaborateurs. N'oubliez pas de remplacer votre répertoire de travail par le répertoire du projet avant d'extraire les dernières mises à jour.

18. Diffusez vos mises à jour

Une fois que vous avez fini de travailler avec vos mises à jour, vous pouvez les ajouter au référentiel distant en appuyant sur le. La différence entre git push et git commit est que lorsque vous validez certaines modifications, elles sont ajoutées à votre référentiel local plutôt qu'au référentiel distant.

$ git push

Cette commande ajoutera vos mises à jour au référentiel distant du projet. Vous utiliserez généralement pull et push pour collaborer avec des développeurs distants. Il est donc important que vous les maîtrisiez parfaitement.

19. Afficher les référentiels distants

La commande git remote nous permet de gérer facilement un ensemble de référentiels suivis depuis le terminal Linux. Vous pouvez l'utiliser pour cloner uniquement certaines branches sélectionnées.

$ git remote
$ git remote --verbose

Le premier exemple affichera tous les référentiels distants actuellement configurés. Ajout du –verbeux flag nous montre des informations détaillées à ce sujet.

20. Se connecter aux référentiels distants

Vous pouvez configurer des référentiels distants afin que votre référentiel local soit connecté à un serveur distant. En faisant cela, vous pourrez pousser vos modifications locales directement sur le serveur distant. Jetez un coup d'œil à l'illustration suivante pour voir comment cela fonctionne dans la pratique.

$ git remote add origin <server>

La commande ci-dessus ajoutera "origine" comme nom distant au serveur. Vous pouvez découvrir l'URL du serveur en explorant la Source sous-onglet de votre référentiel GitHub.

21. Ajouter des balises à votre projet

Les balises vous permettent de marquer des événements significatifs dans vos projets open source. Les développeurs les utilisent souvent pour marquer de nouvelles rechutes ou des corrections de bogues. Examinez attentivement les commandes git ci-dessous pour savoir comment ajouter des balises à vos projets à l'aide de git.

$ git tag 1.0.0 <commit-id>

Cette commande ajoute la balise 1.0.0 au commit spécifique. Vous pouvez récupérer le commit-id en utilisant la commande ci-dessous.

$ git log

Poussez la balise vers votre référentiel distant à l'aide de la commande suivante.

$ git push origin --tags

Vous devez spécifier les –tags option explicitement. Sinon, la balise ne sera ajoutée qu'à votre dépôt local, pas au dépôt distant.

22. Récupérer des données distantes

Une autre commande git courante que vous utiliserez souvent est fetch. Il est très utile pour un certain nombre de raisons. Tout d'abord, fetch ne récupère que les nouvelles données/références mais ne les fusionne pas avec votre branche locale. Ainsi, vous pouvez être assuré que la copie de travail de votre dépôt local restera saine et sauve.

$ git fetch origin

C'est un excellent moyen de vérifier la progression récente d'une base de code distante sans casser votre propre version du projet. Une fois que vous êtes certain que toutes les nouvelles données sont bonnes à utiliser, fusionnez-les simplement dans vos succursales locales.

23. Restaurer les modifications non validées

La commande git restore permet aux développeurs de restaurer toutes les modifications non validées dans leurs projets. Il s'agit des modifications que vous avez apportées à votre version de travail du projet ou du contenu de votre index local. Vous pouvez utiliser cette commande pour annuler les modifications dans votre copie de travail ou les modifications dans l'index ou pour faire les deux.

$ git restore --staged test.php
$ git restore --source=HEAD --staged --worktree test.php

La première commande restaurera le fichier test.php dans l'index, et la seconde commande restaurera à la fois l'index et le répertoire de travail actuel de votre projet.

24. Supprimer des fichiers

Parfois, vous voudrez peut-être supprimer certains fichiers de votre arbre de travail ou de l'index du projet. Vous pouvez utiliser la commande git rm pour ce faire. Cependant, cette commande ne supprimera pas les fichiers spécifiés de votre répertoire de travail. Utilisez la commande Linux rm pour cela.

$ git rm *.php
$ git rm -r dir/
$ git rm --cached *.php

La première commande supprime tous les fichiers PHP de l'arbre de travail et de l'index. La deuxième commande supprime tout du répertoire dir/. La dernière commande supprimera tous les fichiers PHP uniquement de l'index, pas de l'arborescence de travail.

25. Déplacer ou renommer des fichiers

Vous pouvez déplacer ou renommer des fichiers à l'aide de git, comme vous le feriez avec la commande Linux mv. Il s'agit en fait d'un raccourci pour les développeurs occupés intégré directement dans git.

$ git mv test.py new-test.py

La commande ci-dessus effectue simplement les opérations Linux suivantes.

$ mv test.py new-test.py
$ git add new-test.py
$ rm test.py

Ainsi, vous pouvez utiliser la commande git mv pour vous éviter de taper un tas de commandes de terminal Linux supplémentaires.

26. Nettoyer les fichiers non suivis

Les fichiers non suivis sont des fichiers qui ne sont pas sous le système de contrôle de version git. Vous tomberez souvent sur de tels fichiers lorsque vous travaillez sur des projets à grande échelle. Vous pouvez les supprimer en utilisant plusieurs méthodes, notamment git reset et git checkout. Cependant, utiliser la commande git clean est le moyen le plus approprié pour le faire.

$ git clean
fatal: clean.requireForce defaults to true and neither -i, -n, nor -f given; refusing to clean

La commande ci-dessus a échoué car c'est ainsi que git est configuré dans mon système. Vous pouvez contourner ce problème en ajoutant le -n , -i , ou -f option.

$ git clean -n

27. Optimiser les référentiels locaux

L'une de mes commandes git préférées est gc. Il est utilisé pour le ramasse-miettes et vous aidera à réduire la taille de vos dépôts locaux. Vous devez utiliser cette commande fréquemment si vous travaillez sur des projets de grande envergure.

$ git gc

La commande git gc s'exécute extrêmement rapidement et nettoie tous les fichiers inutiles qui se trouvent dans votre référentiel local. C'est l'une des meilleures méthodes d'optimisation en raison de sa rapidité et de son efficacité. Vous pouvez également utiliser le –agressif possibilité d'augmenter l'optimisation. Cependant, il faudra plus de temps pour le terminer.

28. Archiver les référentiels locaux

Vous pouvez facilement archiver vos dépôts locaux en utilisant la commande git archive. Il permet aux développeurs de stocker leur projet dans un endroit sûr. Vous pouvez transférer cette archive sur le réseau ou la stocker sur le système de fichiers Linux.

$ git archive --output=test --format=tar master

La commande ci-dessus stocke le référentiel dans un fichier tar nommé test. Vous pouvez omettre le –format possibilité si vous le souhaitez. Dans ce cas, git essaiera de déduire le format de l'archive à partir de son nom. Il existe de nombreuses autres options disponibles pour cette commande.

29. Rechercher des modèles

Lorsque vous travaillez sur de grands projets, vous devrez souvent rechercher différentes choses. Heureusement, la commande git grep nous permet de rechercher des modèles spécifiques dans nos dépôts et rend le développement beaucoup plus facile. Cela fonctionne de manière très similaire aux commandes grep standard de Linux, avec quelques fonctionnalités spécifiques à git.

$ git grep -iw 'import' master

Cette commande affiche toutes les lignes contenant ‘import’ dans notre branche master. Il effectue une recherche insensible à la casse. La commande suivante recherchera le modèle donné dans tous les commits et branches.

$ git grep 'import' $(git rev-list --all)

C'est l'une des meilleures commandes git à maîtriser si vous collaborez sur des projets à grande échelle.

30. Gérer les arbres de travail

Les développeurs peuvent travailler avec plusieurs arbres de travail dans git. Ceci est utile lors de l'extraction de plusieurs branches de votre projet. Consultez les commandes git suivantes pour voir comment gérer les arbres de travail dans git.

$ git worktree list
$ git worktree add new-branch
$ git worktree remove new-branch
$ git worktree prune

Vous pouvez afficher les arbres de travail en cours à l'aide de la première commande. Utilisez la deuxième commande pour ajouter un nouvel "arbre de travail lié" et la troisième commande pour supprimer cet arbre. La dernière commande vous permet d'élaguer les informations de l'arbre de travail.

31. Élaguer les objets non suivis

Parfois, vous voudrez peut-être supprimer des objets qui ne sont plus suivis par git. Git fournit une commande simple pour ce faire. La commande git prune ne supprimera que les objets non suivis de votre base de données d'objets, pas les références elles-mêmes.

$ git prune --dry-run
$ git prune --verbose --progress

La première commande ne supprime rien et n'affichera que les objets que prune supprimerait. La deuxième commande fournit une sortie détaillée ainsi qu'un rapport de progression pendant la période de suppression. Vous pouvez utiliser les commandes prune pour optimiser vos dépôts avec la commande git gc.

32. Emballez les objets non emballés

Dans git, les packs sont une collection d'objets compressés individuellement. Git applique une compression delta sur ces objets et les stocke dans un seul fichier. Ils sont utilisés pour réduire la charge sur votre système de fichiers Linux ou vos systèmes miroir. La commande git repack permet aux utilisateurs de créer de nouveaux packs composés d'objets qui ne se trouvent pas dans les packs existants.

$ git repack

Vous pouvez utiliser cette commande avec gic gc et git prune pour optimiser vos dépôts git.

33. Lister les objets décompressés

Vous ne devez pas remballer vos objets très fréquemment à moins qu'il n'y ait trop d'objets déballés. La commande git count-objects est une méthode simple mais utile pour afficher le nombre d'objets décompressés et la quantité d'espace disque qu'ils consomment.

$ git count-objects

Utilisez la commande ci-dessus pour déterminer s'il est temps pour un git repack ou non. Vous pouvez ajouter le –verbose drapeau pour obtenir des informations détaillées et le –lisible par l'homme drapeau pour afficher la taille de manière conventionnelle.

34. Valider la base de données d'objets

Git a été développé en tant que système de fichiers à ses débuts. Il a une commande utile appelée fsck, qui agit de manière très similaire à fsck Unix. Vous pouvez utiliser cette commande pour vérifier la connectivité et effectuer des contrôles d'intégrité pour vos objets.

$ git fsck

L'exécution de la commande ci-dessus affichera tous les objets corrompus trouvés dans votre base de données d'objets. C'est l'une des commandes git les plus utiles pour trouver des objets manquants ou défectueux.

35. Afficher les modifications pour chaque commit

La commande git whatchanged est une autre de nos sous-commandes git préférées. C'est un moyen simple mais efficace de visualiser les changements que chaque commit git individuel introduit dans notre projet.

$ git whatchanged

Cette commande git affichera des informations à l'aide des journaux de validation et de la sortie diff. Dans l'ensemble, son fonctionnement est assez similaire à celui de la commande git log.

36. Résumer les informations du journal

Vous pouvez également utiliser la commande git shortlog pour afficher les historiques. L'idée principale derrière cette commande est d'inclure la sortie dans les annonces de publication. Jetez un coup d'œil à la commande suivante pour voir comment cela fonctionne.

$ git shortlog
$ git shortlog --email --summary

Ajout de l'–email affichera les e-mails de chaque auteur. Le –résumé supprimera la sortie habituelle et n'affichera que le nombre de commits.

37. Gérer les options de configuration

Il existe un grand nombre d'options de configuration disponibles pour git. Vous pouvez utiliser la commande git config pour interroger, définir ou remplacer diverses options. Des modifications peuvent être apportées à la fois à des référentiels spécifiques et à la configuration globale.

$ git config --list

La commande ci-dessus listera toutes les options de configuration actuellement définies dans git. Vous pouvez facilement ajouter ou supprimer de nouvelles options. Suivez la page d'aide de la sous-commande config pour savoir comment effectuer ces tâches.

$ git config --help

38. Consulter l'aide de Git

La page d'aide de git ou de toute autre commande de terminal Linux fournit des informations résumées sur toutes les options disponibles. Ce devrait être le premier endroit à visiter lorsque vous rencontrez des problèmes avec git. Jetez un coup d'œil aux commandes suivantes pour savoir comment appeler la page d'aide de git.

$ git help
$ git --help

Ainsi, vous pouvez consulter la page d'aide de git en utilisant soit le style Unix –help option ou la sous-commande help intégrée à git. De plus, git fournit également des pages d'aide pour les sous-commandes.

$ git <command> --help
$ git commit --help

39. Consulter la page du manuel

La page de manuel contient des informations détaillées sur le système de contrôle de version git et toutes ses sous-commandes. Vous pouvez les afficher en suivant la syntaxe ci-dessous.

$ man git
$ man git commit

Ainsi, vous pouvez également consulter les manuels des sous-commandes individuelles, comme vous le pouvez avec la page d'aide.

40. Afficher les informations de version

Vous pouvez utiliser la commande simple suivante pour voir quelle version de git est installée sur votre système. Étant donné que git a largement évolué au fil du temps, il existe des différences significatives entre les différentes versions de git.

$ git --version

Utilisez simplement la commande ci-dessus pour obtenir la version spécifique de git disponible sur votre machine.

Fin des pensées

Git a consolidé sa position en tant que système de contrôle de version de facto grâce à sa conception pratique et à son ensemble de fonctionnalités diversifié. Bien qu'il existe d'excellentes alternatives telles que Mercurial et CVS, un grand nombre de commandes git pratiques le rendent plus polyvalent que ses concurrents. Nos éditeurs se sont donnés beaucoup de mal pour vous présenter les commandes les plus pratiques. J'espère que vous avez obtenu les informations essentielles que vous recherchiez dans ce guide. N'hésitez pas à nous poser des questions si vous avez des doutes sur une commande en particulier. Merci de rester avec nous tout au long de ce long guide.


Linux
  1. 16 commandes Tar pour compresser et extraire des fichiers sous Linux

  2. Linux pour débutants :10 commandes supplémentaires pour manipuler des fichiers

  3. 3 commandes Linux utiles pour les administrateurs système

  4. Utilisez Find and Locate pour rechercher des fichiers sous Linux

  5. 11 commandes "ssh" et "scp" utiles sous Linux

50 règles IPtables utiles et simples pour l'administrateur Linux

50 commandes dmidecode simples et utiles pour Linux

25 commandes Nginx indispensables pour les développeurs et les administrateurs

Les 40 commandes de serveur Linux utiles pour les débutants et les professionnels

Les 50 commandes IP Linux utiles pour les administrateurs réseau

Les 5 meilleures distributions Linux pour les développeurs et les programmeurs