8 Commandes git pour travailler en équipe !

Git in team

Dans le précédent article sur Git, je te parlais des fondamentaux de l’outil… Cette fois, je vais te montrer les nombreux avantages que tu peux tirer du travail en équipe avec Git et différentes astuces pour que ta team atteigne ses objectifs !

Sommaire

pull

La commande pull va te permettre de récupérer le code à l’état du dernier commit sur ton dépôt distant (github, gitlab…etc)

git_pull_v2

checkout

Cette commande va te permettre plusieurs choses selon le cas d’utilisation ! Je te détaille ça en dessous !

Cas 1 - Créer une branche à partir d'une autre

Cette utilisation de la commande va te permettre de créer une branche enfant à partir de ta branche courante, tu vas dupliquer l’état de ta branche courante dans une nouvelle branche ! C’est très utile pour développer une nouvelle feature à partir d’une branche stable !

git checkout case 1
ATTENTION ! Dans mon exemple, je suis positionné sur la branche FEATURE pour checkout vers la branche BRANCHE, il est important d’être sur la bonne branche avant de checkout.

Cas 2 - Réinitialiser un fichier spécifique

La seconde façon d’utiliser la commande est pour remettre le fichier ciblé dans l’état qu’il était sur le précédent commit.

git checkout case 2
ATTENTION ! La commande checkout (dans ce cas) n’est réalisable que si on n’a pas encore effectué le commit, c’est pour ça que j’ai renseigné le HEAD de MA BRANCHE entre le commit C3 et C4.

add

Cette commande va te permettre d’ajouter un fichier dans le dépôt Git pour que git puisse le “tracker”. Elle est essentielle pour savoir quel fichier on cherche à suivre et surtout pour suivre ses modifications !

git add v4

commit

Un commit est une photo à un instant donné de l’état de tous les fichiers qui sont suivis dans le dépôt Git. Cette commande est centrale dans la gestion des modifications et l’historique de changements du code en équipe.

git commit v3

rebase

Je vais t’expliquer ici la première commande compliquée de cet article, mais qui te sera une des plus utiles dans ton travail en équipe ! Cette commande comporte plusieurs cas d’utilisations que je vais te détailler ci-dessous.

Cas 1 - Rebase à partir d'une autre branche

Ce premier cas est utile quand tu dois repartir de la branche master qui a été mise à jour par quelqu’un d’autre dans l’équipe ! La commande va reprendre l’état du code sur la branche master puis repasser tous les commits de ta branche un par un.

git rebase case 1
ATTENTION ! Chaque commit passe 1 par 1 et peut générer un conflit à chaque fois, si tu te retrouves dans cette situation, gère le conflit puis utilises git add pour d’abord ajouter la modification, puis git rebase –continue pour passer au commit suivant !

Cas 2 - Réecrire l'historique des commits

Dans ce cas, tu vas fusionner plusieurs commits dans un seul (squash), pour que l’historique soit plus simple à comprendre par les personnes qui review ton code !

git rebase case 2

reset

Je vais t’expliquer la deuxième commande compliquée de cet article, on l’utilise moins souvent que rebase mais elle est très utile dans certains cas !

 

Cas 1 - Retirer un fichier du tracking

Une des façons d’utiliser la commande reset est d’arrêter de tracker ton fichier dans Git. Si comme moi, tu as tendance à ajouter des fichiers qui ne concernent pas à la feature que tu es en train de réaliser, alors cette commande est faite pour toi ! Tu peux voir cette commande comme l’inverse de git add.

git_reset_case1

Cas 2 - Écraser sa branche

L’autre façon d’utiliser la commande est de repartir de l’état de la branche sur le dépôt distant. C’est utile quand tu es trop parti dans ton délire de dév sur ta branche locale et que tu as besoin de recommencer dans un état clean !

git_reset_case2

merge

Cette commande va te permettre de fusionner deux branches ! C’est une des commandes les plus utilisées dans le travail en équipe, notamment lorsque tu vas livrer sur la branche master !

git_merge
ATTENTION ! Dans mon exemple, je suis positionné sur la branche MA BRANCHE pour merge la branche FEATURE dessus, il est important d’être sur la bonne branche avant de fusionner. Si tu fais face à un conflit, résous-le puis effectue un git add sur le fichier modifié et utilise git merge –continue pour continuer la fusion.

push

La commande push va te permettre de pousser ton code sur ton dépôt distant (github, gitlab…etc)

git push v2
INFORMATION ! La commande git push peut prendre un argument -f  qui va écraser l’état de la branche distante par l’état de la branche locale ! À manier avec PRÉCAUTION !

Bonus

cherry-pick

La commande cherry-pick va te permettre de prendre un commit d’une branche différente pour le ramener sur ta branche courante. Il suffit de passer le hash du commit que tu veux récupérer ! Cette commande est utile quand ta branche est cassée, que tu ne peux pas rebase, mais que tu veux récupérer les modifications que tu as mis dans un ancien commit !

git cherry pick

Ressources utiles

Commitizen
C'est un outil développé en Python pour respecter la norme SemVer qui impose des façons de commit assez strict !
En savoir plus !
Strasbourg Meetup
Si tu veux apprendre plein de nouveautés sur le code et échanger avec une super communauté, viens au Strasbourg Meetup ! Si tu n'es pas du coin, vient voir ça en direct : RhinDev
En Savoir plus !
Diapositive précédente
Diapositive suivante

Conclusion

Te voila devenu maitre du travail d’équipe avec git ! Tu vas enfin pouvoir atteindre les objectifs que tu te fixais avec ta team.

J’espère que toutes ces commandes te serviront dans ton quotidien de dév pour que tu réussisses à atteindre tes objectifs personnels ! Et si t’as besoin de mes services de dév, n’hésites pas à me contacter via la page Contacts

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *