Petit guide git pour les débutants

Digital

logo git
Vous codez un p’tit peu ou bien vous développez à plusieurs ? Vous souhaitez comprendre les modifications qui ont été faites et ne plus risquer de perdre des jours de travail ? Eh bien c’est que vous avez clairement besoin de versionner votre code !

Un logiciel de gestion de versions est un outil incontournable pour tout développeur. Il en existe de nombreux, mais ici nous parlerons uniquement de GIT (mais aussi de Github parce que c’est bien). Non, plus sérieusement, Github vous servira à héberger votre code et collaborer facilement sur des projets open-source.

logo github

Bon c’est bien beau tout ça mais par où on commence ?

Accrochez votre ceinture parce que ça va secouer ! Prêt ? Alors c’est parti !

Dans un premier temps je vais vous demander d’installer git: pour MAC, pour windows et enfin pour Linux

Ça y est c’est bien installé ? Bon passons à l’étape suivante : la création de mon projet
Pour commencer, créez un nouveau dossier et positionnez vous dedans avec la console (avec cd)

ex: Pour créer un nouveau projet faites la commande suivante:
mkdir projet

Wow on a créé un repository :’) j’suis toute émoustillée.
Maintenant qu’on a créé un projet, il faut l’activer. Pour ça, il suffit de se placer dans le dossier que nous venons de créer puis utiliser la commande git init. Cette commande permet de créer un repository ( un répertoire de travail géré par Git quoi).

Maintenant vous allez créer une copie de votre dépôt local en exécutant la commande suivante:
git clone /le/chemain/du/repository
Ou, s’il s’agit d’un serveur distant, il faudra éxécuter la commande suivant:
git clone username@host:/le/chemain/du/repository

HOP c’est dans la poche ! on a réussi à tout cloné on est prêt à travailler ! (Hein ?! mais je n ecomprend toujours pas comment ça fonctionne moi !)
Faisons simple: votre dépôt local est composé de trois « arbres » gérés par git. Le premier correspond à votre espace de travail, il contient tout votre joli travail que vous avez codé en local. Le second, correspond à un Index. C’est comme un espace de transit pour vos fichiers. Et enfin le dernier arbre, le HEAD qui pointe vers la dernière validation que vous ayez faite.

Petit schéma:
comit

Alors,… à quoi correspondent « add » et « commit » ?

Vous pouvez proposer un changement, ajouter des élément à l’index en exécutant les commandes
git add <filename> ou bien git add

Une fois que vous avez ajouté ces modifications, il faut les valider . Pour cela utilisez la commande suivante:
git commit -m « Message de validation »
Conseil : Il est intéressant d’accompagner votre commit d’un doux petit message pour que votre partenaire puisse s’y retrouver

HOP c’est dans la poche ! Le fichier est ajouté au HEAD (mais pas encore dans votre dépôt distant).

Bon… on a fait notre modification on l’a commit… Mais maintenant il est temps de l’envoyer au dépôt distant. Pour le moment il est juste dans notre head. Pour envoyer votre code à votre dépôt distant, exécutez la commande suivante:
git push origin master

Master correspond à la racine de votre projet. Cependant si vous souhaitez envoyer votre code dans une autre branche vous pouvez. Il suffit de remplacer « master » par le nom de votre branche.

branche

Les branches !!!!!!!

Vous allez souvent être amenés à utiliser des branches lorsque vous travaillerez sur un repo. Les branches permettent de travailler sur des versions de code qui divergent de la branche principale (master) contenant votre code courant.
Travailler sur plusieurs branches est très utile lorsque vous souhaitez tester un expérimentation sur votre projet, ou encore pour vous concentrer sur le développement d’une fonctionnalité spécifique.

La branche master est la branche par défaut quand vous créez un dépôt. Utilisez les autres branches pour le développement et fusionnez ensuite à la branche principale quand vous avez fini.

Pour se faire, créez une nouvelle branche que nous appelleront « toto »:
git checkout -b toto

Si vous souhaitez retourner sur la branche principale (master):
git checkout master

Et si vous souhaitez supprimer une branche (il ne faut pas être dessus):
git branch -d toto

ATTENTION!Votre branche ne sera pas disponible tant que vous ne l’aurez pas envoyé à votre dépôt distant:
git push origin

mise-a-jour

Mettre à jour et fusionner avec mon git

À quoi peut bien correspondre une mise à jour avec git ? Il s’agit là de mettre à jour votre dépôt local vers les dernières validations de votre arbre de travail (le master) : git pull

Si vous faites une modification utile sur le projet (vous résolvez un bug par exemple) il faudra faire un « pull », c’est-à-dire de télécharger vos modifications sur votre git

Si vous souhaitez synchroniser le code d’une branche avec la branche active (par exemple master), utiliserez: git merge <branch>
dans les deux cas, git va tenter d’auto-fusionner les changements. Malheureusement, ça n’est pas toujours possible et il en résulte des conflits. Vous devez alors régler ces conflits manuellement en éditant les fichiers indiqués par git. Après l’avoir fait, vous devez les marquer comme fusionnés avec : git add <filename>
après avoir fusionné les changements, vous pouvez en avoir un aperçu en utilisant git diff <source_branch><target_branch>

 

les-erreurs

En cas d’erreur

Dans le cas où vous auriez fait quelque chose de travers (ce qui n’arrive jamais je sais) vous pouvez annuler les changements locaux en utilisant cette commande
git checkout — <filename>

cela remplacera les changements dans votre arbre de travail avec le dernier contenu du HEAD. Les changements déjà ajoutés à l’index, aussi bien les nouveaux fichiers, seront gardés.

Attention niveau un p’tit peu plus poussé :
Si à la place vous voulez supprimer tous les changements et validations locaux, récupérez le dernier historique depuis le serveur et pointez la branche principale locale dessus comme ceci git fetch origin
git reset –hard origin/master

 

Voilà voilà je pense que vous avez maintenant largement les connaissances pour vous débriuiller avec GIT comme un grand 🙂

Si vous souhaitez vous entrainer sur de petits exercices je vous invite à visiter Learn git branching. Cette application a été conçue pour aider les débutants à saisir les fonctionnalité de git

(Visited 625 times, 1 visits today)
Suivez nous sur Twitter
Envoyez nous un mail

Comments

comments