114 votes

Git : Abandon de toutes les modifications sur une branche locale divergente

J'ai une branche de sujet local qui suit une branche distante. Pour les besoins de l'argumentation, disons que les historiques de commit ressemblent à ceci :

A--B--C--O1--O2--O3 (origin/phobos)
       \
         L1--L2--L3 (phobos)

Après avoir regardé l'historique des livraisons relatives, je veux maintenant supprimer toutes les modifications apportées au fichier local phobos pour qu'elle redevienne une copie directe de la branche origin/phobos de sorte que l'histoire locale ressemble à ceci :

A--B--C--O1--O2--O3 (phobos origin/phobos)

Je ne veux vraiment pas que les modifications locales de la phobos et je ne veux vraiment pas que les fusions apparaissent dans le dépôt d'origine par la suite. (Donc, la simple fusion n'est pas ce que j'ai en tête).

Cela semble être très facile, mais mon google-fu m'a fait défaut. Comment dois-je m'y prendre ?

316voto

Dan Moulding Points 46866
git checkout phobos
git reset --hard origin/phobos

Ceci indique à Git de réinitialiser l'en-tête du fichier phobos au même engagement que origin/phobos et de mettre à jour l'arbre de travail en conséquence.

78voto

mipadi Points 135410

Supprimez la branche, puis recréez-la :

$ git branch -D phobos
$ git checkout --track -b phobos origin/phobos

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