web-dev-qa-db-fra.com

Annulation d'un pull git --rebase

Hé, je suis nouveau sur git et j'ai besoin d'annuler une traction, quelqu'un peut-il aider?!? Donc ce que j'ai fait c'est ...

  1. git commit
  2. git stash
  3. git pull --rebase
  4. git stash pop

cela a créé un tas de conflits et s'est mal passé. Maintenant, faire 'git stash list' révèle que ma cachette est toujours là. Est-il possible de revenir à mon repo au point juste après avoir fait git commit. Donc, effectivement, mon dépôt ne contient que les modifications que j'ai apportées et rien de nouveau du serveur?

44
Thomas

en utilisant git reflog vous verrez une liste de commits HEAD pointé dans le passé

en utilisant

git checkout -b after-commit HEAD@{1} # or the commit you want to recover

vous créez une nouvelle branche à cette position précise et la vérifiez

46
knittl

En fait, pour rendre cela plus facile, Git conserve une référence nommée ORIG_HEAD qui indique où vous étiez avant le rebasage. Donc, c'est aussi simple que:

git reset --hard ORIG_HEAD
106
Pat Notz

Vous devez extraire la commande

git reset --merge

Cela élimine le besoin d'un git commit; git stash avant un pull (je ne sais pas pour rebaser cependant)

La commande renvoie un espace de travail avec des modifications non validées de l'état avant une extraction conflictuelle.

5
Erik Martino Hansen