119 votes

Comment puis-je récupérer d'un maître d'origine git push -f erroné?

Je viens de valider la mauvaise source dans mon projet en utilisant l'option --force

Est-il possible de revenir en arrière ? Je comprends que toutes les branches précédentes ont été écrasées à l'aide de l' -f , j'ai donc peut-être foiré mes révisions précédentes.

60voto

user1094125 Points 1

Si vous connaissez le hachage de commit, c'est facile, recréez simplement votre branche.

 5794458...b459f069 master -> master (forced update)

Supprimez la branche distante :

 git push origin :master

puis recréez votre branche avec les commandes suivantes :

 git checkout 5794458
git branch master
git push origin master

54voto

Abdelhafid Points 219

La solution est déjà évoquée ici

 # work on local master
git checkout master

# reset to the previous state of origin/master, as recorded by reflog
git reset --hard origin/master@{1}

# at this point verify that this is indeed the desired commit.
# (if necessary, use git reflog to find the right one, and
# git reset --hard to that one)

# finally, push the master branch (and only the master branch) to the server
git push -f origin master

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X