Git est un programme merveilleux. Il s’agit d’un utilitaire de contrôle de version qui vous permet de gérer de manière transparente l’historique des modifications d’un fichier. Bien que cela puisse sembler simple et peu impressionnant, la force de Git réside dans le fait que vous pouvez étendre cet historique à des groupes entiers de fichiers et de répertoires.
Cela signifie qu’il est possible d’utiliser Git pour suivre chaque modification dans chaque fichier pour chaque répertoire. Ceci est très utile si vous réalisez un projet dans lequel vous souhaitez avoir un instantané de tout ce que vous faites.
Qu’est-ce que Git ?
À la base, Git est un simple programme de suivi de l’historique. En cela, il suit les modifications sur différentes versions d’un fichier. La façon dont cela fonctionne est que chaque fois que vous modifiez un fichier, Git créera un hachage pour cette version de fichier spécifique.
À partir de là, il compare et analyse ensuite ces hachages par rapport à «l’arbre Git» du référentiel. Le faire de cette façon permet alors à Git de ne stocker que la différence entre plusieurs versions de fichiers.
Par exemple, si vous écrivez un script sous Git et que vous y avez apporté quelques modifications. Git ne stockera que le hachage des deux premières modifications et hachera le fichier actuel par rapport aux deux premières. De cette façon, Git peut reconstruire les anciennes versions sans stocker plusieurs copies du même fichier.
Cette approche vous permet également d’adapter facilement vos fichiers et répertoires à un projet plus vaste. Étant donné que Git stocke toutes les données historiques sous forme de hachages, il ne doit fonctionner que sur votre machine locale. Ainsi, vous pouvez facilement exporter votre travail vers d’autres personnes et importer leurs contributions sans avoir besoin d’un logiciel de gestion externe.
Installer Git
Git est un package très courant dans les systèmes d’exploitation basés sur Linux. Pour cette raison, son installation est incroyablement facile. Dans la plupart des cas, il est déjà préinstallé sur votre système. Si vous utilisez Debian ou Ubuntu, vous pouvez utiliser apt pour installer Git :
Pour Fedora ou RHEL, utilisez dnf :
En attendant, si vous utilisez Arch Linux, vous pouvez également installer Git en utilisant pacman :
Utiliser Git pour un projet local
L’utilisation de Git sur votre machine locale est très simple. La première chose que vous devez faire est de créer un nouveau référentiel Git. Son objectif principal est de servir de conteneur pour tous les objets Git que vous ajouterez pour ce projet.
Dans le dossier que vous souhaitez suivre, exécutez les commandes suivantes :
Une fois cela fait, Git créera un dossier « .git » à la racine du répertoire de votre projet. Cela servira à la fois de marqueur pour le programme Git et de dossier de stockage pour tous les objets Git de ce projet.
Ajout de fichiers existants à votre référentiel
Avec un référentiel Git fonctionnel, la prochaine chose à faire est d’importer tous les fichiers existants dans Git. En effet, Git ne suit aucun fichier lorsque vous créez un nouveau référentiel pour la première fois.
Pour ce faire, vous pouvez exécuter la commande suivante dans le répertoire racine de votre dossier :
Cette commande indiquera à Git d’inclure tous les fichiers et dossiers du répertoire actuel. Vous pouvez ensuite le confirmer en exécutant la commande suivante :
Validation de votre premier référentiel
Avec vos fichiers maintenant dans le référentiel, la prochaine chose que vous devez faire est d’écrire ces modifications dans le système de fichiers Git. Cela garantit qu’il balisera et hachera correctement tous les nouveaux fichiers de votre dossier. Pour ce faire, vous devrez « valider » l’état actuel du référentiel.
Pour ce faire, vous pouvez exécuter la commande suivante :
Cela indiquera à Git d’écrire tout ce qu’il contient dans son cache sur le système de fichiers virtuel.
À partir de là, Git vous demandera alors une description de ce commit spécifique. Cela vous permettra de fournir une brève explication sur ce qu’il contient ainsi qu’un moyen de distinguer facilement ce commit des autres. Dans mon cas, puisqu’il s’agit de mon premier commit, j’écrirai simplement « Initial Commit ».
Avec cela, vous pouvez maintenant vérifier si Git reconnaît tous les fichiers de votre répertoire en exécutant la commande suivante :
f pendant ce qui précède, Git génère une erreur indiquant qu’il ne peut pas vous reconnaître, vous devrez lui dire qui vous êtes. Faire cela est aussi simple que d’entrer:
git config --global user.name "Your_Username" git config --global user.email "[email protected]"
Opérations de base sur les fichiers dans Git
Pour la plupart, les commandes UNIX fonctionneront avec Git. Cela signifie que vous pouvez utiliser ls
, cp
, mv
et rm
sur tous les fichiers et dossiers d’un référentiel Git. Cependant, il existe un certain nombre de commandes spécifiques que vous pouvez utiliser pour manipuler facilement les objets Git.
Par exemple, vous pouvez utiliser la sous-commande ls-tree
pour afficher le contenu d’un arbre Git spécifique ainsi que la valeur de hachage actuelle de chaque fichier.
Une autre commande que vous pouvez utiliser est la version Git de mv
. Cela vous permet de déplacer des fichiers n’importe où dans le référentiel tout en conservant leur historique.
git mv ./hello.file ./welcome.file
Cela peut être utile si vous souhaitez renommer un fichier dans le contrôle de version, mais vous souhaitez également avoir la possibilité d’annuler cette modification via Git.
Sachant cela, vous pouvez exécuter la commande suivante pour renommer un fichier sans perdre son historique.
Enfin, Git fournit également une sous-commande pour supprimer des objets. Semblable à mv
vous pouvez utiliser une version Git de rm
pour supprimer un fichier de votre référentiel actuel. Le faire de cette façon vous permet de supprimer proprement l’objet actuel pour ce fichier particulier.
Cloner un référentiel distant
Il est également possible d’importer un référentiel distant sur votre machine locale. Ceci est utile lorsque vous devez copier un projet différent sur le réseau. Git vous offre la possibilité de cloner un référentiel déjà existant.
La façon dont le clonage fonctionne est que Git copie entièrement l’arborescence d’un projet distant. Cela lui permet de recréer l’intégralité de l’historique d’un référentiel tel qu’il existe à ce moment précis.
git clone https://github.com/git/git.git
Il est également possible de cloner des référentiels qui n’existent que dans un réseau local. Ceci est utile si vous collaborez avec d’autres personnes sur le réseau local. De plus, le processus de clonage d’un projet dans un réseau local est exactement le même :
git clone 192.168.1.100:/home/bob/awesome-project
Utiliser Git pour les projets en ligne
Avec cela, une autre façon de collaborer avec d’autres personnes consiste à utiliser l’hébergement tiers. En cela, vous utilisez un service distant tel que Github pour héberger votre projet sur Internet. Cela peut être extrêmement utile si vous avez besoin d’un moyen rapide et facile de diffuser votre travail à un large public.
Non seulement cela, un service tel que Github rationalise également le processus de création et de maintenance d’un référentiel. En tant que tel, il s’agit d’un service puissant si vous avez l’intention de réaliser des projets collaboratifs avec d’autres personnes sur des réseaux distants.
Créer votre premier référentiel en ligne
Sachant cela, démarrer un référentiel via Github est incroyablement facile. Une fois connecté à votre compte, le site vous redirigera vers votre page de destination personnelle.
Cette page affichera les dernières mises à jour sur les projets que vous suivez actuellement. Cela inclut un bref historique de toutes vos contributions à d’autres projets.
À partir de là, vous devez cliquer sur le signe « + » à côté de votre photo de profil. Cela fera apparaître un petit menu déroulant dans lequel vous pourrez choisir un certain nombre d’actions pour votre compte. Vous devez ensuite cliquer sur le lien « Nouveau référentiel » dans ce menu.
C’est ici que vous pouvez spécifier les détails du projet que vous souhaitez réaliser en ligne. À partir de là, vous devez définir un certain nombre d’options pour affiner votre projet.
Tout d’abord, vous devez fournir un nom de référentiel pour votre projet. Cela servira de nom que d’autres personnes pourront rechercher lors de la recherche de votre référentiel.
Ensuite, vous devez définir les paramètres de confidentialité de votre projet. Vous pouvez choisir entre Public et Privé. Un référentiel public permet à d’autres personnes de rechercher votre projet en ligne, tandis qu’un référentiel privé vous permet de le partager uniquement avec quelques personnes.
Enfin, vous devez cliquer sur le bouton « Créer un référentiel » pour finaliser votre nouveau projet.
Lier Github à votre machine locale
Avec cela, la prochaine chose que vous devez faire est de lier votre machine locale à votre compte Github. Pour ce faire, vous devez faire deux choses :
- Tout d’abord, vous devez créer une clé SSH pour votre machine. Il s’agit d’une courte clé cryptographique que vous pouvez générer localement sur votre ordinateur.
- Enfin, vous devez indiquer à Github votre clé SSH actuelle. Cela permet à votre machine d’avoir une identité fixe sur Github. À son tour, il utilise cette identité pour vous vérifier chaque fois que vous mettez à jour votre référentiel.
Création de votre clé SSH
Si vous utilisez Debian ou Ubuntu, vous pouvez installer SSH en utilisant apt :
À partir de là, vous pouvez ensuite exécuter le ssh-keygen
programme pour créer la clé ssh :
ssh-keygen -t ed25519 -C "[email protected]" ssh-add /home/$USER/.ssh/id_ed25519
Associer votre clé SSH
Revenez à votre tableau de bord Github, cliquez sur votre image de profil, puis sur Paramètres.
Cela fera apparaître les paramètres généraux de votre compte Github. À partir de là, vous devez cliquer sur le lien « Clés SSH et GPG » sous la section « Accès » dans la barre latérale gauche de la page.
Cliquez sur le bouton « Nouvelle clé SSH » à côté de l’en-tête « Clés SSH ». Cela chargera ensuite la page de configuration de la clé où vous pourrez copier le contenu de votre nouvelle clé SSH.
Ouvrez votre fichier de clé (dans mon cas, à partir de là, le fichier de clé id_ed25519.pub dans le répertoire « ~/.ssh ») dans un éditeur de texte. Copiez le contenu et collez-le sur Github.
Pousser les commits locaux en ligne
La dernière étape consiste à télécharger le contenu de votre projet local en ligne.
Sur votre ordinateur local, accédez au dossier Git et exécutez la commande :
git remote add origin git@github.com:ramcesred/my-project.git
À partir de là, vous devez ensuite vous assurer que votre projet local se trouve actuellement dans sa branche principale. C’est ainsi que Git copiera la bonne version de votre projet. Avec cela, vous pouvez vous en assurer en exécutant la commande suivante :
Enfin, poussez l’état actuel du projet en ligne :
Toutes nos félicitations! Vous avez maintenant une configuration de travail de base pour les projets Git. De plus, vous avez maintenant une idée de base du fonctionnement de Git et de la manière dont vous pouvez le faire fonctionner pour vous.
Questions fréquemment posées
Est-il possible d’obtenir les modifications que d’autres personnes ont apportées à mon projet Git en ligne ?
Oui! Il est possible de copier les modifications que d’autres personnes ont apportées à votre référentiel en ligne. Vous pouvez le faire en tirant depuis votre origine distante.
Vous pouvez facilement y extraire toutes les mises à jour en exécutant la commande suivante : git pull origin main
Quels sont les problèmes auxquels je dois faire attention lorsque j’utilise Git ?
L’un des plus gros problèmes de l’utilisation de Git est qu’il prend beaucoup d’espace lors du stockage de fichiers binaires. Cela inclut tous les fichiers qui ne sont pas encodés en texte brut tels que les images, les formats de documents bureautiques et les programmes compilés.
Cela est principalement dû au fait que les algorithmes de compression et de hachage que Git utilise pour stocker des objets favorisent fortement les fichiers en texte brut. Il est possible d’inclure des binaires sous contrôle de version, cependant, il est recommandé d’éviter de les utiliser avec Git.
Est-il possible de ne pas inclure de fichiers dans un arbre Git ?
Oui! Vous pouvez facilement exclure des fichiers d’un commit. Vous pouvez utiliser un fichier « .gitignore » pour indiquer à Git que vous ne souhaitez pas inclure certains fichiers.
Il s’agit d’un fichier texte caché que vous créez dans le dossier racine de votre référentiel. Dans celui-ci, vous incluez les chemins relatifs des fichiers et des répertoires que vous souhaitez que Git ignore.