• mkhanouri555@gmail.com

Rebase une branche, ça ne sert à rien

Rebase une branche, ça ne sert à rien

“Oh non il faut jamais rebaser une branche sur un projet, surtout quand on est en équipe !!!” , “Moi je merges et je pries qu’il n’y ait pas de conflits” … 

Ces phrases tordues affirmant un manque de connaissance sur Git pourtant indispensable pour travailler en équipe, presque aussi indispensable que votre propre clavier … 

Il existe beaucoup plus de développeurs que l’on ne pense qui ont quelques manques concernant Git, et même si ces lacunes semblent optionnelles elles peuvent générer des problèmes et savoir quoi faire pour les éviter pourrait être un gain de temps monstrueux, vous en avez connus des demi-journées gâcher n’est-ce pas ?

Un gain de temps ?!

Si si je vous assures ! Je vous fais le scénario ? Allez !

Vous travaillez en petit groupe de 3 personnes, avec une personne qui se débrouille très bien, et un nouveau fraîchement arrivé : Teddy !

Arrive votre ressource moins doué, simplement parce qu’il ne connaît pas encore assez le projet. C’est parti : Teddy crée sa branche depuis la branche develop, la feature qu’il développe met du temps à arriver mais vous êtes sur votre lancé vous et votre super collègue.

 

Plusieurs pull request sont passées, et arrive enfin la fameuse feature de Teddy arrive !

Au moment de faire la pull request on se rend compte que la majeur partie des fichiers modifiés par Teddy sont également modifiés par quelqu’un d’autre; Teddy fait son bon push des familles sur sa nouvelle branche pour faire sa pull request

“Ohlala ça fait beaucoup de commits de retard dites moi ?” se dit Teddy …

Au moment de merge la pull request on se rend bien compte du désastre il y a un bonne tartine de conflits à résoudre quelles lignes doivent rester lesquelles sont à retirer on fini peut être par perdre des fonctionnalités voir même des fichiers (Il y a des champions) et c’est la chasse aux commits perdus : la voilà votre perte de temps !

 

Si je ne suis plus à jour, je rebase ?

Mais bien sûre que oui ! Et le rebase ce n’est pas une manipulation dangereuse, il suffit de faire les choses dans le bon ordre : 

 

  1.  Se mettre à jour sur la branche d’origine (develop souvent)
  2. Retourner sur votre branche 
  3. Faire un rebase sur develop fraîchement mis à jour
  4. Git va parcourir chacun des commits de develop pour que la base de votre branche soit le dernier commit de develop
  5. S’il y a des conflits c’est le moment de les résoudre : OUI !

une fois que votre branche est rebase localement, il va falloir la pousser sur votre serveur git, mais git indiquera que les branches divergent et qu’il faut que vous effectuer un ‘pull’. Ne pas oublier de faire un push force de VOTRE branche (pas develop)

Une fois que c’est fait votre branche est à jour et ça devrait ressembler à ça :

vous devinez donc bien qu’une fois merge, les commits de la branche seront les derniers commits de la branche develop, pas de conflits  sur votre repository distant seulement en local !!

Conclusion

Je sais qu’un pourcentage des personnes techniques qui vont lire cet article seront touchés dans leur ego en pensant qu’ils n’ont rien à apprendre, on en parle même au Devoxx (2018) 

Je pense que ce sont ces petits détails qui font que le travail de développeur est important, et qu’il est important d’être pédagogue pour les gens qui ont besoin d’en savoir plus ! J’ai moi-même été dans ce cas, et je serai souvent amené à me retrouver dans cette position car on en apprend tout les jours davantage !

Pour ceux qui pensent que ce n’est pas important, j’aimerais dire que l’un des aspects du développeur et de se maintenir à jour sur les technologies et de surtout se perfectionner sur les choses que l’on doit maîtriser : si vous ne maîtriser pas il faut le travailler, vous en serez que plus fier et plus confiant 

Mounir Khanouri

Originaire de Lille, j'ai pris passion pour les métiers du web depuis mes premières expériences. Je cherche chaque jour à me perfectionner dorénavant pour proposer mes services Développeur, Freelance Mounir

Laissez votre message

%d blogueurs aiment cette page :