Ecraser ma twig locale avec une twig distante

J’ai complètement terminé ma twig locale et je voudrais recommencer. La version sur le serveur est correcte.

Je ne veux pas recommencer, je voudrais utiliser mon histoire locale pour réparer mon énorme bêtise. (Je peux si je dois.)

git fetch branchname , et git pull branchname ne fonctionne pas. Le message que je reçois est ” à jour ” mais ma version locale ne correspond pas à celle du serveur.

git pull origin/branchname me donne une erreur ” introuvable “.

D’abord, créez une nouvelle twig dans la position actuelle (au cas où vous auriez besoin de votre ancien historique “foutu”):

 git branch fubar-pin 

mettez à jour votre liste de twigs distantes et synchronisez les nouveaux commits:

 git fetch --all 

Ensuite, réinitialisez votre twig au point où l’origine / la twig pointe vers:

 git reset --hard origin/branch 

soyez prudent , cela supprimera tout changement de votre arbre de travail !

Ce que je fais quand je gâche ma twig locale, c’est que je renomme simplement ma twig cassée et que j’extrais / twig la twig en amont à nouveau:

 git branch -m branch branch-old git fetch remote git checkout -b branch remote/branch 

Ensuite, si vous êtes certain de ne rien vouloir de votre ancienne succursale, supprimez-le:

 git branch -D branch-old 

Mais en général, je laisse l’ancienne twig locale au cas où j’aurais quelque chose là-dedans.

Votre succursale locale a probablement des modifications à supprimer. Pour ce faire, vous devez utiliser git reset pour réinitialiser l’antenne de la twig au dernier point que vous avez divergé de la twig du repo en amont. Utilisez git branch -v pour trouver l’identifiant sha1 de la twig en amont et réinitialisez votre twig en utilisant git reset SHA1ID . Vous devriez alors être en mesure d’effectuer une git checkout pour ignorer les modifications laissées dans votre répertoire.

Remarque: faites toujours cela sur un repository sauvegardé. De cette façon, vous pouvez vous assurer que cela a bien fonctionné. Sinon, vous avez une sauvegarde à effectuer.