2016-12-01 1 views
0

J'ai fait de fausses modifications dans le code, puis les ai commises, puis les ai poussées à distance.Comment annuler git pousser ou déplacer origine/mybranch à l'étape précédente?

Maintenant, les numéros locaux mybranch et origin/mybranch sont synchronisés.

Le j'ai trouvé que mon code si faux. Je voudrais revenir en arrière un comming. J'ai réinitialisé la branche en cours à la validation précédente et j'ai obtenu l'état correct dans le référentiel local, mais je n'ai pas réussi à le pousser à distance.

Si je fais un push normal, il fusionne et je reste sur le mauvais code.

Après avoir poussé la force, j'ai eu mes comptes supplémentaires logiquement disparu, mais j'avais toujours le mauvais code.

Maintenant, je dois revenir manuellement sur mes changements dans le style old-fashion.

Était-ce une meilleure façon d'effectuer?

+0

Avez-vous fait '--soft' ou' --hard' reset? –

+0

@sajibkhan ça ne marchera pas avec des trucs déjà poussés, n'est-ce pas? – Phate01

+0

Possible duplication de [Annulation d'un 'git push'] (http://stackoverflow.com/questions/1270514/undoing-a-git-push) – nullpointer

Répondre

0

après la réinitialisation pour corriger le code

git push origin mybranch -f

-f signifie la force

0

Je voudrais revenir en arrière un comming [sic].

Tu aurais

git rebase -i origin/mybranch

et sélectionnez que vous voulez garder commits.

0

Si vous souhaitez supprimer le dernier commit avec les modifications, vous devez effectuer la réinitialisation --hard.

$ git checkout mybranch 
$ git reset --hard HEAD~1   # undo last commit with changes 
$ git push -f origin HEAD