Alors je me suis rendu compte a force de contribuer a duniter-ts que mon utilisation de git était loin d’être optimale, et notamment j’ai laisser beaucoup de bruits, de merges locaux et autres saletés dans l’historique des commit de duniter-ts, commençant a m’en rendre compte suite a des remarques de @sveyret j’ai compris qu’il y avait des bonnes pratiques de git qu’il me manquait.
Je suis donc parti en quête d’un tutoriel clair et complet sur le sujet afin de maitriser enfin l’art du rebase, et j’ai trouver mon bonheur aujourd’hui :
Aussi pour l’instant et depuis toujours je fait tout en cli, mais si vous connaissez une gui git qui permet notamment de fractionner facilement un commit, y compris en isolant plusieurs modifs d’un même fichier, ça m’intéresse
J’ai souffert longtemps aussi avant de découvrir le rebase.
J’ai compris son utilité et sa puissance grâce à un article en anglais.
Attention tout de même avec le rebase, on peut créer des régressions car les conflits sont résolus commit après commit, et pas tous en même temps comme un merge. Résultat j’ai fait revenir en arrière du code dont je ne savais pas que quelqu’un l’avait amélioré. Et le rebase ne l’a pas vu…
Attetion toutefois à ne push-forcer que sur les branches de développement uniquement avant de les merger dans les branches stables.
Autrement, les personnes qui suivent ces branches vont se retrouver avec des conflits lors d’un simple pull.
Oui évidemment, de toute façon ça n’a pas de sens de rebaser sur une branche stable, on est censé le faire sur les branches de dev avant les merge de MR efectivement
Je ne suis pas d’accord avec cela : il est beaucoup plus simple de nettoyer la branche au fur et à mesure que l’on progresse, plutôt que de tout faire d’un coup à la fin. Par contre, effectivement, un push force ne doit se faire que sur une branche où l’on est seul à travailler, ou alors il faut s’assurer que personne d’autre ne va y travailler en même temps, sous peine de risquer de perdre des commits !
Oui voila, j’aime beaucoup la gui intégré de vscode qui permet de selectionner les fichiers a intégrer ou non dans le commit mais il ne semble pas possible de n’insérer qu’une partie d’un fichier (faire un git add -p donc), peut être qu’il existe un plugin qui fait ça