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?
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.
git reset --hard peut vous aider si vous voulez tout jeter depuis votre dernier commit
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
git diff master > branch.diff
git apply --reverse branch.diff
@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
Dans la racine source: git reset ./ HEAD <--un-stage any staged changes git checkout ./ <--discard any unstaged changes
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.
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.