J'ai une branche locale qui suit une branche distante. Pour les besoins du raisonnement, disent COMMIT histoires ressemblent à ceci:Git: rejeter toutes les modifications sur une branche locale divergente
A--B--C--O1--O2--O3 (origin/phobos)
\
L1--L2--L3 (phobos)
Après avoir regardé le parent commettre des histoires, je veux maintenant rejeter toutes les modifications apportées à la branche phobos
locale et obtenir de nouveau à être un lien direct copie de origin/phobos
, de sorte que l'histoire locale ressemble à ceci:
A--B--C--O1--O2--O3 (phobos origin/phobos)
Je ne veux vraiment pas les changements locaux à la branche phobos
, et je ne veux vraiment pas se confond à se manifester dans le référentiel d'origine ensuite. (Donc, fusionner n'est pas ce que j'ai en tête.)
Cela semble devoir être très facile, mais mon google-fu m'a échoué. Comment puis-je faire cela?
Génial. Cela a fonctionné parfaitement. –
Un problème avec cette approche par rapport à la réinitialisation de la tête de la branche, est que la suppression de la branche évite le reflet de la branche. D'autre part, la réinitialisation de la branche préserve non seulement le reflog, mais enregistre en fait la réinitialisation dans le reflog. Cela rend l'opération facilement réversible plus tard, si nécessaire. –
@Electrons_Ahoy Je vous suggérerais de changer la réponse acceptée ici pour celle de Dan (afin que les gens comme moi qui ont googlé comment le faire choisissent la méthode la plus sûre). –