2019-04-23 23:34:46 +05:30
---
Title: Quelques astuces git
Date: 2019-04-22 17:00
2019-04-24 20:58:08 +05:30
Modified: 2019-04-24 20:08+05:30
2019-04-23 23:34:46 +05:30
Author: Fabrice
2019-04-25 14:20:04 +05:30
Category: antisèches
2019-04-23 23:34:46 +05:30
Tags: git, termtosvg
Slug: git-tricks
Header_Cover: ../images/covers/water.jpg
2019-04-24 12:04:03 +05:30
Summary: Une compilation de commandes git que j’ utilise ponctuellement
2019-04-23 23:34:46 +05:30
Lang: fr
---
2019-04-24 12:04:03 +05:30
Quelques astuces [git ](https://git-scm.com/ ) que j’ utilise de temps en temps que j’ oublie tout le temps…
2019-04-23 23:34:46 +05:30
2019-04-28 00:16:55 +05:30
**Attention :** Je ne suis pas un exemple à suivre comme utilisateur de git, et mes manières sont parfois un peu crues.
2019-04-24 22:09:24 +05:30
Récemment, la majorité de mes commits sont dues à [pass ]({filename}/software/pass-fr.md ), et donc la plupart du temps, je suis en train de réparer mes propres erreurs.
2019-04-23 23:34:46 +05:30
Remettre la branche master `master` sur la branche distante `origin/master` :
```sh
git checkout origin/master -B master
```
Aller au commit précédent où on avait checkout (de manière similaire à `cd -` ) :
```sh
git checkout -
```
2019-04-24 12:04:03 +05:30
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 :
2019-04-23 23:34:46 +05:30
```sh
git log --graph --reflog
```
2019-04-24 12:04:03 +05:30
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.
2019-04-23 23:34:46 +05:30
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.
2019-04-24 12:04:03 +05:30
C’ est censé se faire tout seul, mais pas assez souvent selon mes standards.
2019-04-23 23:34:46 +05:30
```sh
git gc --aggressive
```
Pour ajouter un changement atomique dans un fichier (de manière interactive):
```sh
git add -p < file >
```
2019-04-28 00:16:55 +05:30
**Unsafe :** pour réécrire le passé en supprimant un fichier (par exemple si on a commité un donnée *sensible* ):
2019-04-24 20:58:08 +05:30
```sh
git filter-branch --prune-empty --tree-filter "rm -f '< fichier > '" HEAD
git push --force
```
2019-04-23 23:34:46 +05:30
Une autre astuce utile : `git commit -v` , qui permet de réviser nos changements avant de commiter.
Une image vaut mieux que mille mots :
2019-04-24 14:26:01 +05:30
< object data = "/examples/git-cv.svg" width = "100%" > Utilisation de git commit -v< / object >
2019-04-23 23:34:46 +05:30
Une interface ncurses pour git : [tig ](https://jonas.github.io/tig/ )
```sh
tig
```