2012-08-14 11 views
5

Nel mio repository ho dovuto ripristinare una revisione precedente. Ho ripristinato e apportato le modifiche necessarie. Come spingo la nuova revisione a monte?Rimuovere una revisione in TortoiseHG e Mercurial

Ero al turno 17 quando avevo bisogno di tornare indietro al rev 13. Ora che ho apportato le mie modifiche, sono al rev 18. Il punto è che quando vado a spingere questi cambiamenti (sono usando TortoiseHG), ricevo un errore "abort:push create new remote head.

Non voglio fare unire. Voglio fare una forza con il comando --force o devo cancellare rev 14-17. Se devo cancellare, come posso cancellare 14-17?

risposta

3

Non si desidera eliminare le revisioni e quindi distruggere la cronologia. Questo va contro il motivo per cui esiste il controllo della versione.

È possibile eseguire un merge and discard.

Puoi farlo anche in tortoiseHG.

enter image description here

11

soluzione adeguata è di fondere in realtà con l'opzione Discard all changes from merge target (other) revision. Ma a volte la vita è più difficile per noi e abbiamo davvero bisogno di abbandonare alcuni cambiamenti (ad esempio abbiamo commesso codici di lancio nucleare o altri dati sensibili per la sicurezza). È il tuo caso? Se sì, segui.

Supponendo che le modifiche originali non sono stati pubblicati si potrebbe:

  • abilitare mq estensione
  • r clic sui cambiamenti offendere ed eseguire Modify history->Strip. Questo rimuoverà permanentemente le modifiche dalla cronologia locale.