58 lines
1.9 KiB
Markdown
58 lines
1.9 KiB
Markdown
|
---
|
|||
|
Title: Quelques astuces git
|
|||
|
Date: 2019-04-22 17:00
|
|||
|
Modified: 2019-04-23 14:23
|
|||
|
Author: Fabrice
|
|||
|
Category: cheat sheets
|
|||
|
Tags: git, termtosvg
|
|||
|
Slug: git-tricks
|
|||
|
Header_Cover: ../images/covers/water.jpg
|
|||
|
Summary: Une compilations de commandes git que j'utilise ponctuellement
|
|||
|
Lang: fr
|
|||
|
---
|
|||
|
|
|||
|
Quelques astuces [git](https://git-scm.com/) 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](password-store.html), 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` :
|
|||
|
```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 -
|
|||
|
```
|
|||
|
|
|||
|
|
|||
|
Retrouver les commits disparus, c'est très utile lorsqu'on est a envie de `cherry-pick` un commit orphelin qu'on a oublié il y a quelque temps :
|
|||
|
```sh
|
|||
|
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.
|
|||
|
```sh
|
|||
|
git gc --aggressive
|
|||
|
```
|
|||
|
|
|||
|
Pour ajouter un changement atomique dans un fichier (de manière interactive):
|
|||
|
```sh
|
|||
|
git add -p <file>
|
|||
|
```
|
|||
|
|
|||
|
Une autre astuce utile : `git commit -v`, qui permet de réviser nos changements avant de commiter.
|
|||
|
Une image vaut mieux que mille mots :
|
|||
|
|
|||
|
![Example](/examples/git-cv.svg)
|
|||
|
|
|||
|
Une interface ncurses pour git : [tig](https://jonas.github.io/tig/)
|
|||
|
```sh
|
|||
|
tig
|
|||
|
```
|
|||
|
|