Site icon AranaCorp

Quelques notes sur l’utilisation de Git

GitHub est une plateforme open source de gestion de versions et de collaboration destinée aux développeurs de logiciels.
Elle repose sur Git, un outil de versionnement open source. Il permet d’avoir une chronologie des développements sans perte, qui peuvent être aisément multi-utilisateurs en précisant l’auteur, la date et la description (message) de chaque changement effectué par un des utilisateurs.
On retrouve un système de branchements pour différentes versions de code avec un tronc commun.

Ce qu’on appelle un dépôt Git est une sorte de système de fichiers (base de données), enregistrant les versions de fichiers d’un projet à des moments précis au cours du temps sous forme d’instantanés. Il est important de garder une trace de vos développements sur vos projets bien structurés.

Il est important de savoir que Github n’est pas le seul site de dépôt fonctionnant avec Git. Les lignes de commandes de ce tuto sont aussi compatibles avec GitLab, Gerrit, Bitbucket et Codebase pour citer les plus connus. Dans ce tuto, on se concentrera sur Github.

Installation

Installer Git Bash : Cela permettra au Terminal de votre ordinateur de reconnaître et d’exécuter les commandes Git qu’on verra plus tard.

Vous pouvez installer aussi Git sur Linux avec la commande suivante dans la console :

sudo apt-get install git

Installer TortoiseGit : TortoiseGit est une extension pour Windows pour utiliser les commandes Git de façon graphique via l’explorateur de fichiers. Les fonctions Git seront des options supplémentaires accessibles avec un clique droit sur n’importe quel dossier.

Cloner un dépôt

Une fois Git installé, pour commencer il vous faut Cloner un dépôt( un dépôt ) créer sur Github. Une fois que votre dépôt Github est prêt, on ouvre le terminal de commande :
On comme par créer le répertoire sur votre ordinateur qui va recevoir le clone du dépôt.

mkdir nom-de-repertoire
cd nom-de-repertoire

Ensuite, on configure Git avec ses identifiants ( adaptez le contenu ) :

git init 
git config --global user.name "VotrePrénom VOTRENOM"
git config --global user.email "votremail@mail.com"

Et on fini par cloner le dépôt dans un répertoire :

git clone https://github.com/VotreRepository [NomRepertoire]

Télécharger un dépôt en ligne de commande sur Linux

Pour pouvoir télécharger les fichier d’un dépôt, il est nécessaire d’avoir une clé de sécurité (ou token) lié à votre compte Github.

Créer une clé SSH sous Github :

$ ssh-keygen -t ed25519 -C "your_email@example.com"

lancer ssh-agent puis ajouter la clé a ssh-agent

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_ed25519

Enfin ajouter la clé SSH à votre compte

Entrer la commande suivante pour afficher la cl »

$ cat ~/.ssh/id_ed25519.pub

Copier le résultat de la commande et copier la dans les paramètres de votre compte github dans le menu SSH and GPG Keys.

Une fois la clé généré et lié à votre compte, vous pouvez entrer la commande suivante pour télécharger le repositry

git clone git@github.com:<account_name>/<repo_name>.git

Mise à jour des modifications (add, commit, push & pull)

Une fois que vous avez cloné votre dépôt dans votre répertoire, si vous avez fait une modification au répertoire, que ce soit un nouveau fichier ou la modification d’un fichier déjà présent, il faut maintenant mettre à jour le dépôt en ligne qui gardera l’historique de vos modifications :

git add NomDuFichier.extension
git commit -m "commentaire"

add permet d’ajouter un nouveau fichier ou ses modifications au dépôt de travail actuel. Vous pouvez en faire plusieurs d’affilés.
commit permet de procéder les modifications sur le dépôts, comprenant les fichiers que vous venez d’ajouter ainsi que les modifications apportés sur les fichiers avec le git add. On peut ajouter ( et c’est fortement recommandé ) un commentaire au commit effectué pour préciser ce que vous avez changé, ajouté ou supprimé. Cela permettra d’avoir une meilleur lisibilité de l’historique des commit sur le repository.

git push origin main

push permet de pousser la branche courante vers celle que vous souhaitez cibler sur le dépôt distant. Ici, origin main précise de pousser la branche main (local) vers la branche main (origin).
Désormais, vous verrez les modifications de votre dépôt apparaître sur dépôt en ligne, avec le commit et son commentaire effectué juste avant.
git add, git commit et git push sont des commandes complémentaires.

git pull origin main

pull permet de télécharger et fusionner les nouvelles données en provenance du dépôt distant dans votre répertoire. Cela mettra à jour votre répertoire par rapport au dépôt en ligne avec les dernier commits qui y ont été push. Vous pouvez aussi ajouter l’option –rebase avant le dépôt et l’origin, pour au lieu de fusionner les nouvelles données, vous allez rebaser votre répertoire ( mais ne le faites jamais sur un dépôt publique. )

Listes de commandes de bases

Voici une liste non exhaustive de commandes Git qui est utile de connaître :

git status

status permet d’afficher l’état des fichiers du répertoire courant. On retrouve 3 status différents :
Untracked files : fichiers non versionnés ( qui n’ont pas été add et qui sont nouveaux )
Changes to be commited : modifications ( ajout, suppressions, changements ) chargées en zone de transit ( add mais pas commit ) ou indexés.
Changes not staged for commit : modifications n’ayant pas été chargées en zone de transit ( fichiers déjà existant mais qui n’ont pas add ni commit )

git reset Nomdufichier.extension

reset permet d’annuler les modifications indexées d’un fichier.

git checkout -- Nomdufichier.extension

checkout permet d’annuler les modifications non encore indexées d’un fichier.

git log 

log permet de voir l’historique des commits.

git rm Nomdufichier.extension 

rm permet d’indexer la suppression d’un fichier. Vous pouvez ajouter l’option –cached avant le nom du fichier pour déversionner le fichier à la place.

git diff

diff permet d’afficher le détail des modifications non indexées. Vous pouvez ajouter l’option — staged pour les modifications indexées.

git remote

remote permet d’afficher la liste de tous les dépôts distants du projet ( il peut arriver sur certains projets de travailler avec différents dépôts distants pour un seul même Projet ).

git remote add Nom https://github.com/VotreRepository

remote add est une alternative à git clone, cependant là où git clone copie le dépôt en ligne, ici il est question d’ajouter un nouveau dépôt en parallèle d’un dépôt déjà présent sur votre ordinateur dans votre répertoire.

git fetch origin

fetch permet de récupérer les modifications d’un dépôt distant ( le nom du dépôt est usuellement origin mais adaptez le en fonction de ce que vous avez besoin ).

Utilisation de Tortoise

Pour ceux qui n’ont pas envie d’écrire des lignes de commandes dans un terminal sur Windows, vous pouvez utiliser TortoiseGit pour utiliser Git graphiquement.

Créer un dossier vide et faite ensuite un clique droit dessus. Vous verrez apparaître dans les différentes options TortoiseGit qui permet d’accéder aux différentes commande de Git :

On commence par configurer TortoiseGit en cliquant sur Settings :

Pour changer le nom et l’email, il faut cliquer sur Edit global .gitconfig et y écrire votre nom et email.

Ensuite on peut cloner un repository en cliquant sur Clone :

Il se peut que la première fois que vous clonez un repository, des fenêtres supplémentaires s’ouvrent vous demandant de vous connecter à votre compte Github. Faites le.

Pour récupérer les données, il suffit de cliquer sur Pull. On peut y choisir de quel branche et de quel dépôt récupérées les donnés :

Pour envoyer les modifications apportés en local, il suffit de cliquer sur Commit. On conseille d’écrire un commentaire, le nom de l’auteur du commit et la date et heure. On peut aussi Push en même temps avec l’option Commit&Push. Le commit est disponible en cliquant sur Log qui nous montre l’historique des commits :

Sources

Quitter la version mobile