2011-06-10 15 views
12

Il repository remoto contiene una versione non valida. Ho la copia di una buona versione localmente. Voglio sostituire tutto ciò che si trova nel repository remoto con il mio attuale repository (il repository remoto ha ancora un po 'di commit (inclusa un'unione) che non avrebbe dovuto accadere).Sovrascrittura del repository git remoto con il mio repository

Se provo a spingere, ma mi dice che ho bisogno di tirare un primo momento, ma io non voglio farlo, perché questo casino la mia versione locale. Voglio che il repository remoto contenga ciò che ho localmente.

Come posso farlo?

risposta

41
+0

Stessa cosa: '! [remote reject] master -> master (non-fast-forward) ' – rid

+1

Quindi è necessario disattivare' receive.denyNonFastForwards' nel repository remoto .git/config, se si rifiuta di farlo anche con '--force' specificato. – Amber

+0

Qual è il comando esatto che stai utilizzando? – Amber

1
  1. Nuova filiale locale dal vostro buon versione conosciuta
  2. Pull
  3. Passare al noto cattivo ramo
  4. completamente fondono la tua buona nota filiale nella nota cattiva ramo
  5. Conferma e push

Di solito uso un processo come questo per preservare esattamente ciò che è cambiato, avere un ramo isolato che è una copia nota, ecc. Probabilmente è eccessivo rispetto all'uso di --force, ma io lo preferisco.

+2

Il 'merge' non funziona, perché le buone modifiche sono più vecchie delle modifiche errate, quindi nulla da unire. – rid

Problemi correlati