Quelques astuces git

Posté par Fabrice le lundi 22 avril 2019 Mis-à-jour le mercredi 24 avril 2019 Traduction : en

Quelques astuces git que j’utilise de temps en temps que j’oublie tout le temps…

Attention : Je ne suis pas un exemple à suivre comme utilisateur de git, et mes manières sont parfois un peu crues. Récemment, la majorité de mes commits sont dues à pass, et donc la plupart du temps, je suis en train de réparer mes propres erreurs.

Remettre la branche master master sur la branche distante origin/master :

git checkout origin/master -B master

Aller au commit précédent où on avait checkout (de manière similaire à cd -) :

git checkout -

Retrouver les commits disparus, c’est très utile lorsqu’on a envie de cherry-pick un commit orphelin qu’on a oublié il y a quelque temps :

git log --graph --reflog

Quelques explications s’imposent : --graph montre l’arbre des commits, ce qui se montre utile pour révéler les feuilles orphelines, et --reflog mets au jour tous nos secrets les plus sordides.

Vous avez peut-être remarqué que vos répertoires git prennent du volume. Pour corriger ça, on peut manuellement appeler le ramasse-miette de notre dépôt. C’est censé se faire tout seul, mais pas assez souvent selon mes standards.

git gc --aggressive

Pour ajouter un changement atomique dans un fichier (de manière interactive):

git add -p <file>

Unsafe : pour réécrire le passé en supprimant un fichier (par exemple si on a commité un donnée sensible):

git filter-branch --prune-empty --tree-filter "rm -f '<fichier>'" HEAD
git push --force

Une autre astuce utile : git commit -v, qui permet de réviser nos changements avant de commiter. Une image vaut mieux que mille mots :

Utilisation de git commit -v

Une interface ncurses pour git : tig

tig

tags: git, termtosvg