Tutoriel Git pour les débutants
Si vous utilisez GNU/Linux depuis un certain temps, il y a de fortes chances que vous ayez entendu parler de git. Vous vous demandez peut-être ce qu’est exactement git et comment l’utiliser ? Git est l’idée originale de Linus Torvalds, qui l’a développé comme système de gestion de code source lors de son travail sur le noyau Linux.
Depuis lors, il a été adopté par de nombreux projets et développeurs de logiciels en raison de sa vitesse et de son efficacité ainsi que de sa facilité d’utilisation. Git a également gagné en popularité auprès des écrivains de toutes sortes, car il peut être utilisé pour suivre les modifications dans n’importe quel ensemble de fichiers, pas seulement le code.
Dans ce tutoriel, vous allez apprendre :
- Qu’est-ce que Git ?
- Comment installer Git sur GNU/Linux
- Comment configurer Git
- Comment utiliser git pour créer un nouveau projet
- Comment cloner, valider, fusionner, pousser et créer des branches à l’aide de la commande git
Tutoriel Git pour les débutants
Configuration logicielle requise et conventions utilisées
Qu’est-ce que Git ?
Alors, qu’est-ce que git ? Git est une implémentation spécifique du contrôle de version connue sous le nom de système de contrôle de révision distribué qui suit les modifications apportées au fil du temps à un ensemble de fichiers. Git permet le suivi de l’historique local et collaboratif. L’avantage du suivi collaboratif de l’historique est qu’il documente non seulement le changement lui-même, mais aussi le qui, le quoi, le quand et le pourquoi derrière le changement. Lors de la collaboration, les modifications apportées par différents contributeurs peuvent ensuite être fusionnées en un corpus de travail unifié.
Qu’est-ce qu’un système de contrôle de révision distribué ?
Qu’est-ce qu’un système de contrôle de révision distribué ? Les systèmes de contrôle de révision distribués ne sont pas basés sur un serveur central ; Chaque ordinateur dispose d’un référentiel complet du contenu stocké localement. L’un des principaux avantages de cette méthode est qu’il n’y a pas de point de défaillance unique. Un serveur peut être utilisé pour collaborer avec d’autres personnes, mais si quelque chose d’inattendu devait lui arriver, tout le monde a une sauvegarde des données stockées localement (puisque git ne dépend pas de ce serveur), et il pourrait facilement être restauré sur un nouveau serveur.
À qui s’adresse git ?
Je tiens à souligner que git peut être utilisé entièrement localement par un individu sans jamais avoir besoin de se connecter à un serveur ou de collaborer avec d’autres, mais il permet de le faire facilement si nécessaire. Vous pensez peut-être à quelque chose du genre « Wow, cela semble beaucoup de complexité. Ça doit être vraiment compliqué de commencer avec git. ”. Eh bien, vous auriez tort !
Git se concentre sur le traitement du contenu local. En tant que débutant, vous pouvez ignorer en toute sécurité toutes les capacités en réseau pour le moment. Tout d’abord, nous verrons comment vous pouvez utiliser git pour suivre vos propres projets personnels sur votre ordinateur local, puis nous examinerons un exemple d’utilisation des fonctionnalités réseau de git, et enfin nous verrons un exemple de branchement.
Installation de Git
L’installation de git sur Gnu/Linux est aussi simple que d’utiliser votre gestionnaire de paquets sur la ligne de commande comme vous le feriez pour installer n’importe quel autre paquet. Voici quelques exemples de la façon dont cela pourrait être fait sur certaines distributions populaires.
Sur Debian et les systèmes basés sur Debian tels qu’Ubuntu, utilisez apt.
sudo apt-get install git
Sur Redhat Enterprise Linux et les systèmes basés sur Redhat tels que Fedora, utilisez yum.
sudo yum install git(note : sur Fedora version 22 ou ultérieure, remplacez yum par dnf)
sudo dnf install gitSur Arch Linux, utilisez pacman
sudo pacman -S gitConfiguration de Git
Maintenant, git est installé sur notre système et pour l’utiliser, nous avons juste besoin de nous débarrasser d’une configuration de base. La première chose que vous devrez faire est de configurer votre e-mail et votre nom d’utilisateur dans git. Notez qu’ils ne sont pas utilisés pour se connecter à un service ; Ils sont simplement utilisés pour documenter les modifications que vous avez apportées lors de l’enregistrement des validations.
Pour configurer votre e-mail et votre nom d’utilisateur, entrez les commandes suivantes dans votre terminal, en remplaçant votre e-mail et votre nom par des valeurs entre guillemets.
git config --global user.email "youremail@emaildomain.com"
git config --global user.name "your username"
Si nécessaire, ces deux informations peuvent être modifiées à tout moment en réémettant les commandes ci-dessus avec des valeurs différentes. Si vous choisissez de faire cela, git changera votre nom et votre adresse e-mail pour les enregistrements historiques des commits à venir, mais ne les changera pas dans les commits précédents, il est donc recommandé de vous assurer qu’il n’y a pas d’erreurs au départ.
Pour vérifier votre nom d’utilisateur et votre adresse e-mail, entrez ce qui suit :
git config -l
Définir et vérifier votre nom d’utilisateur et votre adresse e-mail avec Git
Création de votre premier projet Git
Pour configurer un projet git pour la première fois, il doit être initialisé à l’aide de la commande suivante :
git init projectnameUn répertoire est créé dans votre répertoire de travail actuel à l’aide du nom de projet donné. Celui-ci contiendra les fichiers/dossiers du projet (code source ou votre autre contenu principal, souvent appelé l’arbre de travail) ainsi que les fichiers de contrôle utilisés pour le suivi de l’historique. Git stocke ces fichiers de contrôle dans un sous-répertoire caché .git.
Lorsque vous travaillez avec git, vous devez faire du dossier de projet nouvellement créé votre répertoire de travail actuel :
cd projectnameUtilisons la commande touch pour créer un fichier vide que nous utiliserons pour créer un programme hello world simple.
touch helloworld.cPour préparer les fichiers du répertoire à valider dans le système de contrôle de version, nous utilisons git add. Il s’agit d’un processus connu sous le nom de staging. Notez que nous pouvons utiliser . pour ajouter tous les fichiers dans le répertoire, mais si nous ne voulons ajouter que des fichiers sélectionnés ou un seul fichier, nous remplacerons . par le(s) nom(s) de fichier souhaité(s) comme vous le verrez dans l’exemple suivant.
git add .N’ayez pas peur de vous engager
Une validation est effectuée afin de créer un enregistrement historique permanent de la façon dont les fichiers de projet existent à ce moment-là. Nous effectuons un commit à l’aide de l’indicateur -m pour créer un message historique par souci de clarté.
Ce message décrit généralement les modifications apportées ou l’événement qui s’est produit pour nous donner envie d’effectuer le commit à ce moment-là. L’état du contenu au moment de ce commit (dans ce cas, le fichier vide « hello world » que nous venons de créer) peut être revisité ultérieurement. Nous verrons comment procéder ensuite.
git commit -m "First commit of project, just an empty file"Maintenant, allons de l’avant et créons du code source dans ce fichier vide. À l’aide de l’éditeur de texte de votre choix, entrez ce qui suit (ou copiez-le et collez-le) dans le fichier helloworld.c et enregistrez-le.
#include
int main(void)
{
printf("Hello, World!\n");
return 0;
} Maintenant que nous avons mis à jour notre projet, allons-y et effectuons à nouveau git add et git commit
git add helloworld.c
git commit -m "added source code to helloworld.c"Lecture des journaux
Maintenant que nous avons deux commits dans notre projet, nous pouvons commencer à voir comment il peut être utile d’avoir un enregistrement historique des changements dans notre projet au fil du temps. Allez-y et entrez ce qui suit dans votre terminal pour voir un aperçu de cet historique jusqu’à présent.
git logLecture des journaux git
Vous remarquerez que chaque commit est organisé par son propre ID de hachage SHA-1 unique et que l’auteur, la date et le commentaire du commit sont présentés pour chaque commit. Vous remarquerez également que le dernier commit est appelé HEAD dans la sortie. HEAD est notre position actuelle dans le projet.
Pour voir quelles modifications ont été apportées dans un commit donné, il suffit d’exécuter la commande git show avec l’identifiant de hachage comme argument. Dans notre exemple, nous allons entrer :
git show 6a9eb6c2d75b78febd03322a9435ac75c3bc278e
Ce qui produit le résultat suivant.
Afficher les modifications de git commit
Maintenant, que se passe-t-il si nous voulons revenir à l’état de notre projet lors d’un commit précédent, en annulant complètement les modifications que nous avons apportées comme si elles n’avaient jamais eu lieu ?
Pour annuler les modifications que nous avons apportées dans notre exemple précédent, il suffit de changer le HEAD à l’aide de la commande git reset en utilisant l’id de commit auquel nous voulons revenir en argument. Le --hard indique à git que nous voulons réinitialiser le commit lui-même, la zone de staging (les fichiers que nous préparions à commit avec git add) et l’arborescence de travail (les fichiers locaux tels qu’ils apparaissent dans le dossier du projet sur notre disque).
git reset --hard 220e44bb924529c1f0bd4fe1b5b82b34b969cca7
Après avoir exécuté cette dernière commande, l’examen du contenu de la commande
helloworld.crévélera qu’il est revenu à l’état exact dans lequel il se trouvait lors de notre premier commit ; un fichier vierge.
Rétablir la validation à l’aide de la réinitialisation matérielle à HEAD spécifié
Allez-y et entrez à nouveau git log dans le terminal. Vous verrez maintenant notre premier commit, mais pas notre deuxième. En effet, git log n’affiche que le commit actuel et tous ses commits parents. Pour voir le deuxième commit que nous avons fait, entrez git reflog. Git reflog affiche les références de toutes les modifications que nous avons apportées.
Si nous décidons que la réinitialisation au premier commit était une erreur, alors nous pourrions utiliser l’identifiant de hachage SHA-1 de notre deuxième commit tel qu’affiché dans la sortie de git reflog afin de réinitialiser notre deuxième commit. Cela reviendrait essentiellement à ce que nous venions d’annuler et nous permettrait de récupérer le contenu dans notre fichier.
Utilisation d’un référentiel distant
Maintenant que nous avons passé en revue les bases de l’utilisation de git localement, nous pouvons examiner en quoi le flux de travail diffère lorsque vous travaillez sur un projet hébergé sur un serveur. Le projet peut être hébergé sur un serveur git privé appartenant à une organisation avec laquelle vous travaillez, ou il peut être hébergé sur un service d’hébergement de référentiel en ligne tiers tel que GitHub.
Dans le cadre de ce tutoriel, supposons que vous avez accès à un référentiel GitHub et que vous souhaitez mettre à jour un projet que vous y hébergez.
Tout d’abord, nous devons cloner le dépôt localement à l’aide de la commande git clone avec l’URL du projet et faire du répertoire du projet cloné notre répertoire de travail actuel.
git clone project.url/projectname.git
cd projectname
Ensuite, nous modifions les fichiers locaux, en implémentant les modifications que nous souhaitons. Après avoir modifié les fichiers locaux, nous les ajoutons à la zone de staging et effectuons un commit comme dans notre exemple précédent.
git add .
git commit -m "implementing my changes to the project"
Ensuite, nous devons pousser les modifications que nous avons apportées localement au serveur git. La commande suivante vous demandera de vous authentifier avec vos informations d’identification auprès du serveur distant (dans ce cas, votre nom d’utilisateur et votre mot de passe GitHub) avant d’envoyer vos modifications.
Notez que les modifications poussées vers les journaux de commit de cette manière utiliseront l’adresse e-mail et le nom d’utilisateur que nous avons spécifiés lors de la première configuration de git.
git pushConclusion
Maintenant, vous devriez vous sentir à l’aise pour installer git, le configurer et l’utiliser pour travailler avec des dépôts locaux et distants. Vous avez les connaissances pratiques pour rejoindre la communauté toujours croissante de personnes qui exploitent la puissance et l’efficacité de git en tant que système de contrôle de révision distribué. Quoi que vous travailliez, j’espère que ces informations changeront pour le mieux votre façon de penser à votre flux de travail.




