J'ai complètement gâché la branche principale de mon dépôt git fourchu.
Je veux réinitialiser complètement la branche principale qui a été poussée vers ma fourchette avec le contenu du référentiel principal en amont. Je n'ai aucun intérêt à conserver les changements ou l'historique de la branche principale.
L'approche la plus simple aurait été de supprimer mon dépôt fourchu et de refork du projet en amont. Cependant, j'ai du travail dans d'autres branches poussées que je ne veux pas perdre.
Alors, comment réinitialiser ma branche maître poussée avec le maître amont?
git clone https://myrepo.git
cd myrepo
git remote add upstream https://upstream.git
git fetch upstream
Où est-ce que je vais à partir d'ici pour réinitialiser mes branches principales locales et distantes avec le maître en amont?
git reset --hard upstream/master
pour réinitialiser le répertoire de travail. Mais votre réponse est néanmoins correcte.git fetch upstream
abordgit fetch upstream
entraîne généralement l'erreur non lisible par l'homme suivante:"fatal: ambiguous argument 'upstream/master': unknown revision or path not in the working tree."
Cela réinitialiserait votre branche principale avec le maître en amont et si la branche a été mise à jour depuis votre fork, elle extraira également ces modifications.
PS: en supposant que Upstream est le dépôt d'origine tandis que l'origine est votre copie.
la source
J'ai essayé la méthode comme celle-ci:
la sortie affichera un avertissement:
Donc, la bonne manière est mise
git pull
avantgit reset
:alors la sortie sera comme ceci:
la source