Déplacer des commits effectués sur la branche master
Avec Git, mon flux de travail habituel consiste à ne jamais faire le moindre commit sur la branche master d'un projet. Pour effectuer des modifications sur cette branche, je dois effectuer une Merge / Pull request à partir d'une autre branche.
Cependant il m'est déjà arrivé, sans m'en rendre compte, de committer du code sur la branche master sans avoir penser à créer une nouvelle branche au préalable.
Heureusement pour nous, Git permet simplement de résoudre ce problème.
# version complete
$ git switch --create "your_new_branch" origin/master
# version light
$ git switch -c "your_new_branch" origin/masterGrâce à cette commande Git va créer une nouvelle branche nommée your_new_branch qui contiendra toutes les commits effectués depuis le dernier commit présent sur la branche origin/master. Vous pouvez aussi remplacer origin/master par le sha d'un commit qui servira alors de point de départ pour la nouvelle branche créée.
Finalement il ne reste plus qu'à retourner sur la branche master et à supprimer les commits indésirables.
# Retour sur la branch master
$ git switch master
# Suppression des commits
$ git reset --hard origin/master