web-dev-qa-db-fra.com

Comment annuler toutes les modifications apportées à une branche?

Je travaille dans une branche (c'est-à-dire design) et j'ai apporté un certain nombre de modifications, mais je dois les supprimer toutes et les réinitialiser pour qu'elles correspondent à la version du référentiel. J'ai pensé git checkout design le ferait, mais cela me dit que je suis déjà dans la branche design et que j'ai 3 fichiers modifiés.

Comment pourrais-je ignorer ces modifications et obtenir la branche telle qu'elle se présente maintenant sur le serveur distant?

100
Will

Remarque: Vous NE POUVEZ PAS ANNULER ceci.

Essayez git checkout -f _ cela supprimera toutes les modifications locales qui ne sont pas commises dans TOUTES branches et maître.

176
ismail

git reset --hard peut vous aider si vous voulez tout jeter depuis votre dernier commit

69
gor

Si vous ne voulez pas aucun changements dans design et que vous souhaitiez le faire correspondre à une branche distante, vous pouvez également supprimer la branche et la recréer:

# Switch to some branch other than design
$ git br -D design
$ git co -b design Origin/design            # Will set up design to track Origin's design branch
16
mipadi
git diff master > branch.diff
git apply --reverse branch.diff
15
Mike Kaganski

@Will, git immersion est un tutoriel vraiment sympa et simple. il vous montrera comment annuler les modifications dans les cas suivants: sans mise en scène, par étapes et validées. laboratoires 14-18

7
Cesar A. Rivas

Dans la racine source: git reset ./ HEAD <--un-stage any staged changes git checkout ./ <--discard any unstaged changes

3
Clifford Harms

Lorsque vous souhaitez ignorer les modifications dans votre branche locale, vous pouvez les cacher à l'aide de la commande git stash.

sauvegarde git "nom_quelette"

Vos modifications seront enregistrées et vous pourrez les récupérer plus tard, si vous le souhaitez ou vous pouvez les supprimer. Après cela, votre branche n'aura plus de code non validé et vous pourrez extraire le dernier code de votre branche principale en utilisant git pull.

2
user4948761

git checkout -f

C'est suffisant pour votre question. La seule chose est, une fois que c'est fait, c'est fait. Il n'y a pas d'annuler.

0
thestar