Devenir un utilisateur expérimenté de Git est sur la liste de tous les développeurs. Voici cinq conseils Git qui vous aideront à améliorer votre flux de travail et à vous rapprocher de la maîtrise de Git.
Astuce n°1 : modifiez le commit précédent sans changer le message de commit
Vous venez de valider vos modifications sur votre copie locale avec un message détaillé et réfléchi, mais au moment où vous appuyez sur RETOUR, vous réalisez que vous avez oublié d’ajouter cette modification qui appartient vraiment là-bas. Si seulement il y avait un moyen de mettre à jour le commit précédent au lieu d’en créer un nouveau…
$ git commit --amend --no-edit
Cette commande vous permet de modifier le dernier commit sans changer le message de commit. La valeur de hachage sera mise à jour, mais il n’y aura qu’un seul enregistrement de validation, laissant votre historique Git local propre et net.
Conseil n°2 : Gardez vos engagements organisés
Vous vouliez juste corriger cette fonctionnalité, mais en attendant, vous êtes entré dans le flux, vous avez réglé un bug délicat et repéré une faute de frappe très ennuyeuse. De fil en aiguille, vous réalisez soudain que vous codez depuis des heures sans rien commettre. Maintenant, vos modifications sont trop vastes pour être compressées dans un seul commit…
avec git add -p
(ou git add --patch
), vous pouvez choisir les parties de code d’un fichier que vous souhaitez inclure dans votre commit. Après avoir exécuté la commande, vous obtiendrez la liste des options que vous pouvez ajouter à Git : add -p
.
En choisissant s
vous pouvez diviser le morceau en plus petits morceaux. À partir de là, vous pouvez simplement choisir les morceaux que vous souhaitez mettre en scène pour le commit (et omettre ceux que vous ne voulez pas) en naviguant avec y
et n
(ou optez pour toute autre option de la liste).
Conseil n°3 : Ramenez-moi vers des temps meilleurs (quand tout fonctionnait !)
Pas votre meilleur jour. Vous avez fait des changements que vous n’auriez pas dû faire et maintenant tout est cassé… Existe-t-il un moyen d’annuler ces commits ?
Avec cette commande pratique, vous pouvez obtenir l’enregistrement de tous les commits effectués dans Git.
Il ne vous reste plus qu’à trouver le commit avant celui qui a causé tous les tracas. HEAD@{index}
représente le commit spécifié, alors remplacez simplement index par le nombre correct et exécutez :
L’action par défaut pour git reset
est git reset --mixed
. Cela signifie que les changements dans votre répertoire de travail seront conservés mais pas mis en scène (puisque l’index a été modifié pour correspondre au commit choisi, les changements ne sont plus dans l’index).
Les autres options sont :
$ git reset --soft
# Doesn’t modify the index or the working tree, leaving your changes staged for commit.
$ git reset --hard
# Use with caution, as it resets both the index and working tree. Uncommitted changes and all commits after will be removed.
Et voilà, vous pouvez recommencer à partir du moment où tout dans votre référentiel a fonctionné à merveille. N’oubliez pas de l’utiliser uniquement localement, car la modification d’un référentiel partagé est considérée comme un crime grave.
Astuce n°4 : Faisons face à ces conflits de fusion
Vous êtes sur un conflit de fusion épineux, mais après avoir comparé deux versions en conflit, vous ne savez toujours pas laquelle est la bonne.
$ git checkout --conflict=diff3 <filename>
Résoudre les conflits de fusion n’est pas seulement amusant et ludique, mais cette commande peut vous faciliter un peu la vie. Souvent, vous avez besoin de plus de contexte pour décider quelle branche est correcte. Par défaut, Git vous montre une version des marqueurs qui contiennent des versions des deux fichiers en conflit. En choisissant l’option ci-dessus, vous pourrez également voir la version de base, ce qui, espérons-le, peut vous éviter des problèmes. Vous pouvez également le définir par défaut avec :
$ git config --global merge.conflictstyle diff3
Astuce n°5 : laissez la correction automatique s’en occuper
Vous êtes assez fier de votre vitesse de frappe fulgurante, mais en même temps, vous ne pouvez même pas vous rappeler combien de fois vous avez tapé « git stauts » au lieu de « git status » et cela vous laisse légèrement ennuyé.
$ git config --global help.autocorrect <integer>
Git Autocorrect est une option pratique pour tous les développeurs impatients. La valeur entière représente un dixième de seconde. Choisir 30 vous donnera 3 secondes pour changer d’avis et arrêter l’opération – sinon, Git supposera que vous vouliez dire l’instruction la plus similaire à celle que vous avez écrite. Ne vous inquiétez pas cependant, si vous tapez quelque chose qui n’est même pas proche d’une commande Git, Git renoncera à deviner et affichera un message d’erreur à la place.
Merci d’avoir lu! J’espère que vous avez trouvé notre Git-pick utile. N’hésitez pas à partager vos astuces préférées dans les commentaires ! Joyeux Git-ing !