blog/content/cheat sheets/git-fr.md

58 lines
1.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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 joublie 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 simposent: `--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
```