# Bonnes pratiques @@
Bouée de secours.
Historise tous les changements.
Permet de retrouver des commits supprimés !
$ git reflog
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)
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>
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>
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)"