Remettre au propre son dépot git

Lorsque l’on souhaite sauvegarder son travail. Il y a toujours des fichiers modifiés que l’on ne souhaite pas commiter.

avant et après

Pour éviter de tracker des fichiers.

Règle N°1 : éviter git add .

Personnellement j’utilise tig. (voir le post)

Solution bis :

1
git add -p 

Pour reverter les fichiers modifiés

Règle N°2 : éviter le git reset --hard

La solution est un peu trop radicale. Comme le git add . vous allez le regretter un jour, car vous perdez tout votre travail. Ce que vous voulez c’est remettre certain fichier au propre et ce n’est pas forcement la bonne commande.

1
git checkout -- .

A noter que cela réverte tout vos fichiers, mais s’il faut filtrer.

1
git checkout -- /web/.

Bien entendu il existe le mode interactif

1
git checkout -p

Reverter un commit.

Attention si le commit est déja pushé. Vous serez obliger de faire un push -f donc on évite de faire cela sur les branches master, staging, develop

Vous avez commiter mais le commit est pas bon.

Si c’est juste le message qui est faux

1
git commit --amend

Si un des fichiers n’est pas bon

1
git reset HEAD^ --soft

Vous remarquez que j’utilise --soft au lieu --hard. Le reset soft me remets avant que j’ai commité. Je ne perds pas mon travail, même mieux les fichiers sont déjà prêt à être commités.

Supprimer les fichiers qui ne sont pas trackés

Vous avez un export.sql, toto.txt, npm-debug.log

Attention à ne pas perdre du travail.

1
2
git clean -f -d -x
git clean -fdx

Avec -f force Obligatoire -d pour directory(répertoire) -x virer les fichiers ignorés de git.

Pour voir ce qui pourrait être effacé pendant la commande.

1
git clean -n

Enfin il existe aussi un mode interactif

1
git clean -i