Vizualizarea unui fișier șters în Git

voturi
98

Am șters un fișier cu Git și apoi sa angajat, astfel încât fișierul nu mai este în copia mea de lucru. Vreau să se uite la conținutul acelui fișier, dar nu-l restabili de fapt. Cum pot face acest lucru?

Întrebat 08/09/2009 la 17:11
de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
112

git show HEAD^:path/to/file

Puteți utiliza un element de identificare explicită comite sau HEAD~npentru a vedea versiunile mai vechi sau în cazul în care a existat mai mult de o comite , deoarece ați șters -o .

Publicat 08/09/2009 la 17:15
sursa de către utilizator

voturi
6

Din moment ce s-ar putea să nu amintesc calea exactă, puteți obține în schimb SHA1 din jurnalul de git, atunci poate emite pur și simplu

 git cat-file -p <sha1>
Publicat 02/05/2012 la 00:55
sursa de către utilizator

voturi
34

În cazul în care acest lucru este un fișier pe care ați șters - o înapoi în timp și nu doresc să vâneze pentru o revizuire , puteți utiliza (fișierul este numit fooîn acest exemplu, puteți utiliza o cale completă):

git show $(git rev-list --max-count=1 --all -- foo)^:foo

rev-listInvocarea caută toate revizuirile , fooci prezintă numai unul. Deoarece rev-listliste în ordine cronologică inversă, atunci ce listeaza este ultima revizuire care a schimbat foo, ceea ce ar fi garantează că șters foo. (Aceasta se bazează pe presupunerea că Git nu permite un fișier șters să fie schimbat și totuși rămân șterse.) Nu puteți folosi doar revizuirea care se rev-listîntoarce ca atare , deoarece foonu mai există acolo. Trebuie să ceri cel chiar înainte de aceasta , care conține ultima revizuire a fișierului, prin urmare, ^în git show.

Publicat 01/11/2013 la 11:31
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more