Ricerca…


Ripristino da un commit perso

Nel caso in cui sia stato ripristinato un commit passato e perso un commit più recente, è possibile ripristinare il commit perduto eseguendo

git reflog

Quindi trova il commit perso e ripristina il risultato facendo

git reset HEAD --hard <sha1-of-commit>

Ripristina un file cancellato dopo un commit

Nel caso in cui tu abbia accidentalmente commesso un'eliminazione su un file e in seguito ti sei reso conto che ne hai bisogno.

Prima trova l'id di commit del commit che ha cancellato il tuo file.

git log --diff-filter=D --summary

Vi fornirà un riepilogo ordinato di commit che cancellano i file.

Quindi procedere a ripristinare il file con

git checkout 81eeccf~1 <your-lost-file-name>

(Sostituisci 81eeccf con il tuo ID di commit)

Ripristina il file su una versione precedente

Per ripristinare un file in una versione precedente puoi utilizzare reset .

git reset <sha1-of-commit> <file-name>

Se hai già apportato modifiche locali al file (che non ti servono!) Puoi anche usare l'opzione --hard

Recupera un ramo cancellato

Per recuperare un ramo cancellato è necessario trovare il commit che era il capo del ramo eliminato eseguendo

git reflog

È quindi possibile ricreare il ramo eseguendo

git checkout -b <branch-name> <sha1-of-commit>

Non sarai in grado di recuperare i rami cancellati se il garbage collector di git ha cancellato i commit pendenti - quelli senza ref. Avere sempre un backup del proprio repository, specialmente quando si lavora in un piccolo team / progetto proprietario

Ripristino da un reset

Con Git, puoi (quasi) ripristinare sempre l'orologio

Non aver paura di sperimentare comandi che riscrivono la storia *. Git non elimina i tuoi commit per 90 giorni per impostazione predefinita e durante questo periodo puoi recuperarli facilmente dal reflog:

$ git reset @~3   # go back 3 commits
$ git reflog
c4f708b HEAD@{0}: reset: moving to @~3
2c52489 HEAD@{1}: commit: more changes
4a5246d HEAD@{2}: commit: make important changes
e8571e4 HEAD@{3}: commit: make some changes
... earlier commits ...
$ git reset 2c52489
... and you're back where you started

* Attenzione per opzioni come --hard e --force però - possono scartare i dati.
* Inoltre, evita di riscrivere la cronologia su tutti i rami su cui stai collaborando.

Recupera da git stash

Per ottenere la tua scorta più recente dopo aver eseguito git stash, usa

git stash apply

Per vedere un elenco dei tuoi scorte, usa

git stash list

Otterrai una lista che assomiglia a questo

stash@{0}: WIP on master: 67a4e01 Merge tests into develop
stash@{1}: WIP on master: 70f0d95 Add user role to localStorage on user login

Scegli un diverso git stash da ripristinare con il numero che appare per la scorta che vuoi

git stash apply stash@{2}

Puoi anche scegliere 'git stash pop', funziona come 'git stash apply' come ..

 git stash pop 

o

 git stash pop stash@{2}

Differenza in git stash apply e git stash pop ...

git stash pop : - i dati di stash verranno rimossi dalla lista di stack.

Ex:-

git stash list

Otterrai una lista che assomiglia a questo

stash@{0}: WIP on master: 67a4e01 Merge tests into develop
stash@{1}: WIP on master: 70f0d95 Add user role to localStorage on user login

Ora pop dati di stash usando il comando

git stash pop

Ancora una volta controlla la lista delle cose da fare

git stash list

Otterrai una lista che assomiglia a questo

 stash@{0}: WIP on master: 70f0d95 Add user role to localStorage on user login

Si può vedere un dato di scorta rimosso (spuntato) dalla lista di scorta e lo stash @ {1} diventa stash @ {0}.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow