web-dev-qa-db-fra.com

votre branche est en retard de 2 commits

J'ai une branche de ma branche principale appelée 218. 

Je suis le seul à utiliser cette branche. 

J'engage mes modifications il y a 3 semaines dans le but de faire une demande d'extraction, mais elle a été rejetée car j'avais besoin d'apporter des modifications. 

Maintenant, j'ai apporté ces modifications et je voulais appliquer les dernières modifications à ma branche. 

J'ai essayé de m'engager et cela m'a dit que je devais fusionner et tirer. C'est ce que j'ai fait, et tous mes fichiers se sont égarés et les modifications apportées au cours des 3 dernières semaines ont été supprimées. 

J'ai annulé ceci par: git reset --hard HEAD~1

Et maintenant, tel qu'il se trouve dans mon dépôt sur mon ordinateur, tous les fichiers sont comme ils devraient être. Mais lorsque je fais le statut de git, mes modifications ne sont pas affichées et il est écrit:

Your branch is behind 'Origin/feature/218' by 2 commits, and can be fast forwarded. nothing to commit, working directory clean. 

Je souhaite que la succursale reprenne ce que j'ai actuellement dans mon dépôt sur mon ordinateur local actuel et qu'elle ne supprime rien, mais écrase tout avec ce que j'ai localement. 

Comment puis-je faire cela?

8
RSM

Puisque vous êtes le seul à travailler sur la branche, vous pouvez écraser l’état de la branche distante en effectuant git Push --force.

Bien que vous soyez sûr d'être le seul à être sur la branche? Si vous étiez le seul à travailler sur la branche, seuls vos commits auraient été sur la télécommande et vous n'auriez pas eu besoin de faire un git pull.

Faire git Push --force avec une branche partagée causera beaucoup plus de problèmes à votre équipe. Assurez-vous donc que vous souhaitez supprimer les 2 commits qui se trouvent sur la branche distante en procédant comme suit:

git checkout Origin/feature/218
git log -3

Cela montrera que les trois derniers commits (les 2 dont vous êtes en retard et le dernier que vous partagez) sur la télécommande s'assurent qu'ils vous appartiennent et que vous voulez que les 2 derniers soient écrasés.

12
Schleis
git pull --rebase

Je suppose que cela résoudra le problème.

2
Yogesh Kaushik