non ho mai usato Tortoise nulla (se non si considera il gruppo di musica elettronica), ma ti darò queste informazioni nel caso in cui non trovi il modo di farlo con la GUI o finisci per decidere di andare a fare la CLI dopo tutto.
Come menzionato @Tuxified, è possibile eseguire questa operazione con git reset --hard <COMMIT>
. Devi specificare un commit, che può essere fatto in una qualsiasi panoplia intimidatoria di possibili modi; il più comune ha forme come HEAD~4
, che specifica un commit 4 viene eseguito prima del capo del ramo corrente e deadbeef42
, che specifica un commit il cui SHA1 inizia con 0xdeadbeef42. Se stai usando linux o OSX, puoi ottenere tutti i dettagli sugli specificatori di commit tramite man git-rev-parse
, in "SPECIFICARE LE REVISIONI".
È anche possibile rinominare il ramo corrente (git branch -m new_branch_name
) e quindi creare un nuovo ramo con la testa nel punto in cui si desidera ripristinare. Il vantaggio è che se finisci per voler usare tutto o parte del materiale che hai fatto lì, puoi comunque accedervi facilmente; e se digiti il commit, sei salvato da un grande momento sacro. Inoltre i rami git sono super leggeri quindi l'unico vero svantaggio è che ci sarà un altro ramo elencato. Per creare il nuovo ramo principale useresti git branch master <COMMIT>
e poi lo verifichi. Quindi l'effetto netto qui è uguale alla prima opzione, eccetto che hai ancora le tue vecchie modifiche salvate nel ramo new_branch_name
. Puoi persino unire le modifiche in un secondo momento, dopo che il nuovo commit è stato effettuato su master
, se ti va.
Si noti che una di queste tecniche è considerata "storia di riscrittura" e causerà problemi se si condivide il repository con altri. Se sei intelligente e stai spingendo verso un repository di backup in cloud city o su un altro pc, dovrai risolvere le cose a tale scopo prima di poterlo spingere nuovamente.
Questo è probabilmente il modo più informazioni di cui hai bisogno in questo momento, ma se finisci per usare git molto probabilmente vorrai imparare questa roba a un certo punto. Spiacente, non so come usare Tortoise ...
Oh, okey. Bene, per quanto posso vedere, ha ripristinato il comando. Ma inverte i cambiamenti che ho apportato nella copia di lavoro, fino all'ultimo commit. Non ho visto un modo per ripristinare diversi commit "down the road".In ogni caso, almeno +1 per provare :) – richard
Ah, non ho notato che volevi tornare indietro 5 commit X ( 'git-reset' (--hard) dovrebbe essere il tuo nuovo amico;) – Tuxified