Vous êtes sur la page 1sur 14

Workshop GIT

Il est parfois difficile de mener à bien des projets informatiques et la gestion de l'historique
de vos fichiers peut rapidement devenir une mission impossible.

Dans ce workshop, nous allons comprendre comment gérer et déployer tous nos projets
informatiques avec GIT.

A la fin de ce workshop, vous serez capable de :

● Comprendre Git ;
● Installer et configurer Git et GitHub ;
● Utiliser les commandes de base de Git ;
● Collaborer sur GitHub grâce aux branches et aux Pull Requests ;
● Corriger les erreurs courantes sur GitHub.

1. Comprendre Git

Qu'est ce que git ?

Git est un outil qui nous permet de faire du versionning.

Versionning ?
● Historique des modifications
● Résolution des conflits par la fusion
● Possibilité d'avoir des branches

Pourquoi git ?

Le principale avantage de git est qu'il s'agit d’un système de versions distribuées. C'est un
programme avec une structure décentralisée.

Réalisée par : Abir Hzaiem


Grâce à Git, l'historique total du code n'est pas sauvegardé au même endroit. Toute copie du
code réalisée correspond à un nouveau dépôt dans lequel l'historique des modifications est
conservé.

Afin de vérifier que git est bien disponible sur votre machine, vous pouvez accéder à l'invite

⬇️
de commande en tapant la commande git --version. Si ce n'est pas le cas, vous pouvez
suivre les étapes de l'installation .

2. Installation
1- Pour installer Git, il faut accéder au lien suivant : https://git-scm.com/ . Ensuite,
choisissez et téléchargez la version de Git qui correspond à votre installation : MacOS,
Windows ou Linux/Unix.

2- Exécutez le fichier que vous venez de télécharger.

3- Appuyez sur Suivant à chaque fenêtre puis sur Installer. Lors de l’installation, laissez
toutes les options par défaut, elles conviennent bien.

4- Une fois que vous cliquez sur Finish, vous allez maintenant pouvoir utiliser Git Bash et
taper git --version pour avoir la version de git installée ainsi que git help pour avoir une
documentation par rapport aux différentes commandes.

Git Bash est l’interface permettant d’utiliser Git en ligne de commande.

3. Initialiser GIT
Pour travailler sur Git, vous devez créer un dépôt.
Qu'est ce qu’un dépôt ?

Un dépôt est comme un dossier qui conserve un historique des versions et des modifications
d’un projet. Il peut être local ou distant.

★ Dépôt Local

Un dépôt local est l’endroit où l’on stocke, sur sa machine, une copie d’un projet, ses
différentes versions et l’historique des modifications.

Réalisée par : Abir Hzaiem


★ Dépôt Distant

Un dépôt distant est une version dématérialisée du dépôt local, sur Internet ou sur un réseau.
Il permet de centraliser le travail des développeurs dans un projet collectif.

➢ Il existe plusieurs services en ligne pour héberger un dépôt distant, GitHub étant l’un
des plus populaires.

4. Utiliser les commandes de base de Git


Travaillez depuis votre dépôt Local

1- Configurez votre identité


Commencez par renseigner votre nom et votre adresse e-mail. C'est une information
importante car vous en aurez besoin pour toutes vos validations dans Git :

Pour vérifier que vos paramètres ont bien été pris en compte, et vérifier les autres paramètres,
il suffit de passer la commande git config –list

2- Initialisez votre dépôt


Aller dans le projet existant sur votre workspace comme montre la figure ci dessous

Réalisée par : Abir Hzaiem


Ensuite Initialiser le projet en utilisant la commande git init

Un dossier caché .git a été créé ! Vous pouvez l'afficher en allant dans Affichage =>
Éléments masqués

3- Les commits
Sélectionner les fichiers à commiter (dossier src et fichier pom.xml uniquement) avec la
commande git add src/ pom.xml ou avec git add . qui permet de mettre en place tous les
fichiers (qui ne sont pas listés dans le .gitignore).

Maintenant que le dossier src et le fichier pom.xml sont ajoutés, vous pouvez créer une
version, c'est-à-dire archiver le projet en l’état. Pour ce faire, utilisez la commande "git
commit" :

Réalisée par : Abir Hzaiem


Après chaque modification, utilisez la commande git status pour avoir plus de détails par
rapport au fichier modifié comme montre la figure ci-dessous

Puis git add (nom de la classe modifié) et git commit (avec un autre commentaire bien sur)

Lancer la commande git log pour voir les deux commits

Travaillez depuis votre dépôt Distant


1. Créer un compte Github

Pour créer votre compte GitHub:

1- Rendez-vous sur la page d’accueil et cliquez sur Sign up.

Réalisée par : Abir Hzaiem


2- Il vous sera ensuite demandé de saisir un e-mail, un mot de passe et un nom
d'utilisateur.

3- Un code de vérification vous sera envoyé sur votre adresse e-mail afin de confirmer
votre identité.

➢ Après avoir suivi ces étapes, vous serez inscrit sur GitHub ! Par défaut, GitHub est
gratuit.

2. Créer un repository sur Github

Pour mettre votre projet sur GitHub, vous devez créer un repository dans lequel il pourra être
placé.

Réalisée par : Abir Hzaiem


1- Cliquez sur le "+" dans le coin supérieur droit, pour faire apparaître l’option New
repository.

2- Choisissez un nom simple pour votre dépôt. Dans ce workshop, nous utiliserons
“crudEtudiant”. Puis, choisissez si vous souhaitez créer un dépôt public ou privé.

README est un fichier qui indique les informations clés de votre projet : description,
environnement à utiliser, dépendances possibles et droits d’auteurs.

gitignore est un fichier qui permet d’ignorer certains fichiers de votre projet Git.

3- Cliquez ensuite sur “Create repository” pour créer un dépôt.

Réalisée par : Abir Hzaiem


Relier votre dépôt local au dépôt distant

-Retourner sur GitBash et taper la commande suivante: ( copier le lien du repository qui
figure dans la capture ci-dessus)

-Ensuite, tapez la commande :

-Enfin, taper la commande

La commande git push permet d’envoyer des commits du repository vers le dépôt distant
GitHub.

Les Branches
Le principal atout de Git est son système de branches.

Réalisée par : Abir Hzaiem


➢ Les différentes branches correspondent à des copies de votre code principal à un
instant T, où vous pourrez tester toutes vos idées les plus folles sans que cela impacte
votre code principal.

1-Pour connaître les branches présentes dans notre projet, il faut taper la ligne de commande :

Dans un premier temps, vous n’aurez que la branche main

2- Pour créer une nouvelle branche, taper la commande git branch etudiant-management

3- Vous pouvez de nouveau, taper git branch pour voir la liste des branches

4- Pour basculer de branche, nous allons utiliser :

Vous aurez donc :

Vous pouvez re-basculer si besoin à tout moment sur la branche main, sans impacter les
modifications de la branche etudiant-management.

- Réaliser des commits dans la branche etudiant-management.

➢ Vous avez réalisé des évolutions sur la branche etudiant-management, il faut


maintenant demander à Git de les enregistrer, de créer une nouvelle version du projet
comprenant les évolutions réalisées sur la branche etudiant-management.

Réalisée par : Abir Hzaiem


-Avec la commande git commit, nous avons enregistré des modifications en local,
uniquement. Il ne vous reste plus qu’à envoyer les modifications réalisées sur le dépôt distant
grâce à la commande git push.

À présent, il faut intégrer l'évolution réalisée dans la branche "etudiant-management" à la


branche principale "main".
Pour cela:
1-Il faut basculer vers la branche main :

2-Puis fusionner votre branche "etudiant-management" à celle-ci grâce à la commande


suivante :

Pour supprimer une branche git branch -d (nom branche)

Cloner Un projet
Maintenant, vous devez travailler en équipe sur un projet. L’un de vous doit créer le
repository sur GitHub. Et c’est à vous de récupérer le code pour apporter vos modifications :
En premier lieu, vous allez récupérer l’URL du dépôt distant : cela se passe sur GitHub !

1- Accéder au dépôt distant sur lequel vous souhaitez travailler. Puis, cliquez sur le bouton
"Code" pour copier le lien de repository distant.

Réalisée par : Abir Hzaiem


Retournez sur Git Bash, et tapez la commande suivante :

Mettre à jour le dépôt en local

Si l’un de vos collègue a ajouté des modifications sur la branche main et que vous souhaitez
les récupérer. Utilisez la commande git pull origin main

Dans les parties précédentes, git merge nous permettait de fusionner les changements de notre
branche avec la branche principale.

Mais dans un contexte professionnel, c’est un peu plus compliqué ! Lorsque vous travaillez
en équipe sur un repository, la branche principale est souvent bloquée. Vous ne pouvez pas
pusher directement votre code sans qu’il soit vérifié. Vous ne pouvez donc pas fusionner vos
modifications vous-même !

➢ On fait ce qu’on appelle un pull request !

Réalisée par : Abir Hzaiem


Pull Request : Il s’agit d’une fonctionnalité de GitHub qui permet de demander aux
propriétaires d’un repository l’autorisation de fusionner nos modifications sur la branche
principale ou toute autre branche sur laquelle on souhaite apporter nos changements.

Donc si vous créez une pull request, vous avez au préalable :

1. Créer une nouvelle branche.


2. Envoyer votre code sur cette même branche.

Par ailleurs, lorsque ces deux conditions sont respectées, une fenêtre apparaît à l’écran pour
vous suggérer de créer une pull request :

● Ajoutez un commentaire pour expliquer les raisons de vos modifications.


● Cliquez sur Create pull request pour valider la pull request.

5. Corriger Vos erreurs


La journée a été difficile et vous avez fait un push par erreur des fichiers erronés.

Le problème est que cette erreur affecte également les personnes avec lesquelles vous
travaillez sur le projet.

Avertir vos collaborateurs, bien sûr !! Mais Git a tout de même la solution à votre problème.

Il est possible d'annuler son commit public avec la commande git revert. L'opération revert
annule un commit en créant un nouveau commit. C'est une manière sûre pour annuler des
changements, car elle ne risque pas de réécrire l'historique du commit.

Nous avons maintenant annulé notre dernier commit public et cela a créé un nouveau commit
d'annulation. Cette commande n'a donc aucun impact sur l'historique ! Par conséquent, il

Réalisée par : Abir Hzaiem


est préférable d’ utiliser git revert pour annuler des changements sur une branche publique,
et git reset pour faire la même chose, mais sur une branche privée.

Utilisez GIT RESET


Supposons que votre client vous demande une nouvelle fonctionnalité ; vous travaillez sur
cette dernière toute la journée et le lendemain, finalement, il change d'avis. Catastrophe !

Vous avez perdu une journée à développer une fonctionnalité pour rien, mais maintenant vous
devez trouver un moyen de revenir en arrière !

Heureusement, Git vient à notre rescousse avec la commande git reset !

La commande git reset est un outil complexe et polyvalent pour annuler les modifications.
Elle peut être lancée de trois façons différentes, qui correspondent aux arguments de ligne de
commande --soft, --mixed et --hard.

git reset –hard


- Cette commande permet de revenir en arrière à n'importe quel commit mais en oubliant
absolument tout ce qui s'est passé après ! Quand je dis tout, c'est TOUT ! Que vous ayez fait
des modifications après ou d'autres commits, tout sera effacé ! C'est pourquoi il est
extrêmement important de revérifier plusieurs fois avant de la lancer, vous pourriez perdre
toutes vos modifications si elle est mal faite.

Cette utilisation de git reset est un moyen facile d'annuler des changements qui n'ont pas
encore été partagés. Cette commande est indispensable quand vous commencez à travailler
sur une fonctionnalité, que vous faites une erreur et que vous voulez recommencer de zéro.

git reset –mixed


- Cette commande vous permettra de revenir juste après votre dernier commit ou le commit
spécifié, sans supprimer vos modifications en cours. Il permet aussi, dans le cas de fichiers
indexés mais pas encore commités, de désindexer les fichiers.

➢ Si rien n'est spécifié après git reset, par défaut il exécutera un git reset --mixed
HEAD^
➢ Le HEAD est un pointeur, une référence sur votre position actuelle dans votre
répertoire de travail Git.

git reset –soft


-Cette commande permet de se placer sur un commit spécifique afin de voir le code à un
moment donné, ou de créer une branche à partir d'un ancien commit. Elle ne supprime aucun
fichier, aucun commit, et ne crée pas de HEAD détaché.

La différence entre git reset et git revert

Réalisée par : Abir Hzaiem


git reset permet de retourner à l'état précédent sans créer un nouveau commit, tandis que git
revert crée un nouveau commit.

En résumé,

Dans ce workshop, nous avons utilisé le gestionnaire de versions Git:

Rappelons que cet outil possède trois fonctionnalités principales :

1. Retourner à une version ancienne de votre code en cas de problème.


2. Suivre l’évolution de votre code étape par étape.
3. Travailler en collaboration sans risquer de supprimer les modifications des autres
collaborateurs.

La capture ci-dessous résume les principales commandes abordées dans ce workshop.

Bon courage 😀

Réalisée par : Abir Hzaiem

Vous aimerez peut-être aussi