Comment utiliser le système de contrôle de version GIT dans Linux [Guide complet]

Comment utiliser le système de contrôle de version GIT dans Linux [Guide complet]

Contrôle de version (Contrôle de révision ou contrôle source) est un moyen d'enregistrer les modifications d'un fichier ou d'une collection de fichiers au fil du temps afin que vous puissiez vous rappeler des versions spécifiques plus tard. Un système de contrôle de version (ou VCS En bref) est un outil qui enregistre les modifications des fichiers d'un système de fichiers.

Il existe de nombreux systèmes de contrôle de version, mais Git est actuellement le plus populaire et le plus fréquemment utilisé, en particulier pour la gestion du code source. Le contrôle de la version peut en fait être utilisé pour presque tous les types de fichiers sur un ordinateur, pas seulement le code source.

Les systèmes / outils de contrôle de version offrent plusieurs fonctionnalités qui permettent aux individus ou à un groupe de personnes de:

  • Créer des versions d'un projet.
  • suivre les changements avec précision et résoudre les conflits.
  • fusionner les changements en une version commune.
  • Rollback et annuler les modifications des fichiers sélectionnés ou un projet entier.
  • accéder aux versions historiques d'un projet pour comparer les changements au fil du temps.
  • Voyez qui a modifié quelque chose qui pourrait causer un problème.
  • créer une sauvegarde hors site sécurisée d'un projet.
  • Utilisez plusieurs machines pour travailler sur un seul projet et bien plus.

Un projet sous un système de contrôle de version tel que Git aura principalement trois sections, à savoir:

  • un référentiel: une base de données pour enregistrer l'état ou modifie les fichiers de votre projet. Il contient toutes les métadonnées et objets GIT nécessaires pour le nouveau projet. Notez que c'est normalement ce qui est copié lorsque vous clonez un référentiel à partir d'un autre ordinateur sur un réseau ou un serveur distant.
  • un répertoire ou une zone de travail: stocke une copie des fichiers du projet sur lesquels vous pouvez travailler (effectuer des ajouts, suppressions et autres actions de modification).
  • Une zone de stadification: un fichier (connu sous le nom d'index sous git) dans le répertoire GIT, qui stocke les informations sur les modifications, que vous êtes prêt à commettre (enregistrer l'état d'un fichier ou d'un ensemble de fichiers) dans le référentiel.

Il existe deux principaux types de VCS, la principale différence étant le nombre de référentiels:

  • Systèmes de contrôle de version centralisé (CVCS): Ici, chaque membre de l'équipe de projet obtient son propre répertoire de travail local, cependant, ils commettent des modifications à un seul référentiel central.
  • Systèmes de contrôle de version distribués (DVCS): En vertu de cela, chaque membre de l'équipe de projet obtient son propre répertoire de travail local et son répertoire GIT où il peut faire des commits. Une fois qu'un individu s'est engagé localement, les autres membres de l'équipe ne peuvent pas accéder aux modifications jusqu'à ce qu'il les pousse au référentiel central. Git est un exemple de DVC.

De plus Git Le référentiel peut être nu (référentiel qui n'a pas de répertoire de travail) ou non-barre (un avec un répertoire de travail). partagé (ou public ou central) Les référentiels doivent toujours être nus - tous les référentiels GitHub sont nus.

Apprenez le contrôle de la version avec Git

Git est un système de contrôle de version gratuit et open source, rapide, puissant, distribué, facile à utiliser et populaire qui est très efficace avec de grands projets, et possède un système de ramification et de fusion remarquable. Il est conçu pour gérer les données plus comme une série d'instantanés d'un mini système de fichiers, qui est stocké dans un répertoire GIT.

Le flux de travail sous Git est très simple: vous apportez des modifications aux fichiers de votre répertoire de travail, puis ajoutez sélectivement les fichiers qui ont changé, dans la zone de mise en scène, pour faire partie de votre prochain engagement.

Une fois que vous êtes prêt, vous faites un engagement, qui prend les fichiers de la zone de mise en scène et enregistre ce SNOPSHOT en permanence au répertoire GIT.

À installer Git Dans Linux, utilisez la commande appropriée pour votre distribution de choix:

$ sudo apt install git [on Debian / Ubuntu] $ sudo yum install git [sur Centos / Rhel]] 

Après avoir installé Git, il est recommandé de dire Git qui vous êtes en fournissant votre nom complet et votre adresse e-mail, comme suit:

$ git config - utilisateur de globe.Nom «Aaron Kili» $ Git Config - Global User.Email «[e-mail protégé]» 

Pour vérifier vos paramètres GIT, utilisez la commande suivante.

$ git config - liste 
Afficher les paramètres GIT

Crée un nouveau référentiel GIT

partagé Les référentiels ou les flux de travail centralisés sont très courants et c'est ce que nous démontrerons ici. Par exemple, nous supposons que vous avez été chargé de configurer un référentiel central distant pour les administrateurs / programmeurs système de divers départements de votre organisation, pour travailler sur un projet appelé bashscripts, qui sera stocké sous / projets / scritpts / sur le serveur.

Ssh dans le serveur distant et créer le répertoire nécessaire, créer un groupe appelé sysadmins (Ajoutez tous les membres de l'équipe de projet à ce groupe E.G Admin utilisateur) et définissez les autorisations appropriées sur ce répertoire.

# MKDIR-P / PROJETS / SCRIPTS / # GROUPADD SYSADMINS # USERMOD -AG SYSADMINS Admin # Chown: Sysadmins -R / Projects / Scripts / # CHMOD 770 -R / PROJETS / SCRIPTS / 

Puis initialisez un référentiel de projet nu.

# git init --bare / projets / scripts / bashscripts 
Initialiser le référentiel partagé GIT

À ce stade, vous avez réussi à initialiser un nu Git Répertoire qui est l'installation de stockage centrale du projet. Essayez de faire une liste du répertoire pour voir tous les fichiers et répertoires là-dedans:

# ls -la / projets / scripts / bashScripts / 
Liste du référentiel partagé GIT

Clone un référentiel Git

Maintenant cloner le référentiel git partagé distant de votre ordinateur local via Ssh (vous pouvez également vous cloner via Http / https Si vous avez un serveur Web installé et configuré de manière appropriée, comme c'est le cas avec la plupart des référentiels publics sur GitHub), par exemple:

$ git clone ssh: // [e-mail protégé] _Server_ip: / projets / scripts / bashscripts 

Pour le cloner à un répertoire spécifique (~ / bin / bashScripts), utilisez la commande ci-dessous.

$ git clone ssh: // [e-mail protégé] _Server_ip: / projets / scripts / bashScripts ~ / bin / bashscripts 
Clone a partagé le référentiel Git à la local

Vous avez maintenant une instance locale du projet dans un non-barre Référentiel (avec un répertoire de travail), vous pouvez créer la structure initiale du projet (i.e Ajouter un Réadmettre.Maryland fichier, sous-répertoires pour différentes catégories de scripts e.G Recon pour stocker les scripts de reconnaissance, les scripts Sysadmin Ro Store Sysadmin, etc.):

$ CD ~ / bin / bashScripts / $ ls -la 
Créer une structure de projet GIT

Vérifiez un résumé de l'état GIT

Pour afficher l'état de votre répertoire de travail, utilisez le commande d'état Ce qui vous montrera les modifications que vous avez apportées; quels fichiers ne sont pas suivis par Git; ces changements qui ont été mis en scène et ainsi de suite.

$ statut git 
Vérifier l'état de Git

Git Stage change et s'engage

Ensuite, met en scène toutes les modifications en utilisant le Ajouter la commande avec le -UN changer et faire le validation initiale. Le -un Flag instruit la commande pour mettre en scène automatiquement les fichiers qui ont été modifiés, et -m est utilisé pour spécifier un message de validation:

$ git add -a $ git commit -a -m "engagement initial" 
Git commettre

Publier les engagements locaux dans le référentiel git éloigné

À mesure que l'équipe de projet dirige, maintenant que vous avez créé la structure du projet, vous pouvez publier les modifications du référentiel central à l'aide du Commandement push comme montré.

$ git push origin maître 
Push Commit dans le référentiel Centrol Git

À l'heure actuelle, votre référentiel GIT local devrait être à jour avec le référentiel central du projet (Origin), vous pouvez le confirmer en exécutant le commande d'état une fois de plus.

$ statut git 
Vérifier l'état de Git

Vous pouvez également informer vos collègues pour commencer à travailler sur le projet en clonant le référentiel à leurs ordinateurs locaux.

Créer une nouvelle branche git

La branche vous permet de travailler sur une fonctionnalité de votre projet ou de résoudre les problèmes rapidement sans toucher la base de code (Master Branch). Pour créer une nouvelle branche, puis passez-la, utilisez le bifurquer et vérifier Commandes respectivement.

$ Git Branch Dernière $ Git Cachat Dernière 

Alternativement, vous pouvez créer une nouvelle branche et y passer en une étape en utilisant le commande de caisse avec le -b drapeau.

$ git Checkout -B Dernière 

Vous pouvez également créer une nouvelle branche basée sur une autre branche, par exemple.

$ Git Checkout -B Dernier Master 

Pour vérifier dans quelle branche vous êtes, utilisez commande de branche (Un caractère d'astérisque indique la branche active):

Branche Git $ 
Vérifier la branche active

Après avoir créé et passé à la nouvelle branche, apportez des modifications sous elle et faites quelques engins.

$ vim sysadmin / topprocs.SH $ git Status $ git commit ajouter sysadmin / topprocs.sh $ git commit -a -m 'modifié topprocs.sh ' 

Fusionner les changements d'une branche à une autre

Pour fusionner les modifications sous le test de branche dans la branche maître, passez à la branche maître et effectuez la fusion.

$ git Checkout Master $ git fusion test 
Fusionner la branche de test dans le maître

Si vous n'avez plus besoin d'une branche particulière, vous pouvez le supprimer en utilisant le -d changer.

Test de la succursale Git-Git 

Télécharger les modifications du référentiel central distant

En supposant que les membres de votre équipe ont poussé les modifications au référentiel du projet central, vous pouvez télécharger toutes les modifications sur votre instance locale du projet en utilisant le commander.

$ git pull origine ou $ git till origin maître #si vous êtes passé à une autre branche 
Tirez les modifications du référentiel central

Inspectez le référentiel GIT et effectuez des comparaisons

Dans cette dernière section, nous couvrirons certaines fonctionnalités GIT utiles qui gardent une trace de toutes les activités qui se sont produites dans votre référentiel, vous permettant ainsi de voir l'historique du projet.

La première fonctionnalité est Git Log, qui affiche des journaux de validation:

$ git journal 
Afficher les journaux Git Commit

Une autre caractéristique importante est le Afficher la commande qui affiche différents types d'objets (tels que les commits, les étiquettes, les arbres, etc.):

$ git show 
Git show objets

La troisième caractéristique vitale que vous devez savoir est la commande diff, utilisée pour comparer ou afficher la différence entre les branches, afficher les modifications entre le répertoire de travail et l'index, les modifications entre deux fichiers sur le disque et bien plus encore.

Par exemple, pour afficher la différence entre le maître et la dernière branche, vous pouvez exécuter la commande suivante.

$ git diff maître dernier 
Montrer la différence entre les branches

Lire aussi: 10 meilleures alternatives GIT pour héberger des projets open source

Résumé

Git permet à une équipe de personnes de travailler ensemble en utilisant les mêmes fichiers, tout en enregistrant des modifications du (s) fichiers au fil du temps afin qu'ils puissent se rappeler des versions spécifiques plus tard.

De cette façon, vous pouvez utiliser GIT pour gérer le code source, les fichiers de configuration ou tout fichier stocké sur un ordinateur. Vous voudrez peut-être vous référer à la documentation en ligne GIT pour plus de documents.