58 lines
2.0 KiB
Markdown
Raw Normal View History

2019-04-23 23:34:46 +05:30
---
Title: Quelques astuces git
Date: 2019-04-22 17:00
2019-04-24 14:26:01 +05:30
Modified: 2019-04-24 14:27+05:30
2019-04-23 23:34:46 +05:30
Author: Fabrice
Category: cheat sheets
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 jutilise 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 jutilise de temps en temps que joublie tout le temps…
2019-04-23 23:34:46 +05:30
**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 -
```
2019-04-24 12:04:03 +05:30
Retrouver les commits disparus, cest très utile lorsquon a envie de `cherry-pick` un commit orphelin quon 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 simposent: `--graph` montre larbre 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
Cest 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>
```
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
```