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

63 lines
2.2 KiB
Markdown
Raw Normal View History

2019-04-23 18:04:46 +00:00
---
Title: Quelques astuces git
Date: 2019-04-22 17:00
2019-04-24 15:28:08 +00:00
Modified: 2019-04-24 20:08+05:30
2019-04-23 18:04:46 +00:00
Author: Fabrice
2019-04-25 08:50:04 +00:00
Category: antisèches
2019-04-23 18:04:46 +00:00
Tags: git, termtosvg
Slug: git-tricks
Header_Cover: ../images/covers/water.jpg
2019-04-24 06:34:03 +00:00
Summary: Une compilation de commandes git que jutilise ponctuellement
2019-04-23 18:04:46 +00:00
Lang: fr
---
2019-04-24 06:34:03 +00:00
Quelques astuces [git](https://git-scm.com/) que jutilise de temps en temps que joublie tout le temps…
2019-04-23 18:04:46 +00:00
**Attention:** Je ne suis pas un exemple à suivre comme utilisateur de git, et mes manières sont parfois un peu crues.
2019-04-24 16:39:24 +00:00
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 18:04:46 +00:00
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 06:34:03 +00:00
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 18:04:46 +00:00
```sh
git log --graph --reflog
```
2019-04-24 06:34:03 +00:00
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 18:04:46 +00:00
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 06:34:03 +00:00
Cest censé se faire tout seul, mais pas assez souvent selon mes standards.
2019-04-23 18:04:46 +00:00
```sh
git gc --aggressive
```
Pour ajouter un changement atomique dans un fichier (de manière interactive):
```sh
git add -p <file>
```
2019-04-24 15:28:08 +00:00
**Unsafe:** pour réécrire le passé en supprimant un fichier (par exemple si on a commité un donnée *sensible*):
```sh
git filter-branch --prune-empty --tree-filter "rm -f '<fichier>'" HEAD
git push --force
```
2019-04-23 18:04:46 +00:00
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 08:56:01 +00:00
<object data="/examples/git-cv.svg" width="100%">Utilisation de git commit -v</object>
2019-04-23 18:04:46 +00:00
Une interface ncurses pour git: [tig](https://jonas.github.io/tig/)
```sh
tig
```