# Bonnes pratiques @@

Reflog

Bouée de secours.

 

Historise tous les changements.

 

Permet de retrouver des commits supprimés !

 

$ git reflog

@@

Stash

Sauvegarde les modifications non indexées sur une étagère

 

Utile pour récupérer des commits distants sans commit les modifications locales

 

$ git stash <nom_stash> (création)

$ git stash pop <nom stash>(supprime et applique)

$ git stash apply <nom stash>(applique le stash)

@@

Revert

Annule un commit.

 

Un nouveau commit est créé pour restaurer l'état des fichiers.

 

Unique solution de retour arrière lorsque le commit a été envoyé sur le serveur distant. 

 

$ git revert <sha>

@@

Bisect

Compare des commits entre eux.

 

A partir d'une référence.

 

Très utile pour rechercher une anomalie dans le code.

 

$ git bisect start

$ git bisect bad

$ git bisect good <sha>

@@

Gestion des conflits

Changements locaux

Changements distants

Il faut faire un choix

Un nouveau commit doit être réalisé pour résoudre le conflit

$ git add .

$ git commit -m "fix(conflict)"