Ser en slettet fil i Git

stemmer
98

Jeg har slettet en fil med Git og deretter begått, slik at filen er ikke lenger i min arbeidskopi. Jeg ønsker å se på innholdet i denne filen, men faktisk ikke gjenopprette den. Hvordan kan jeg gjøre dette?

Publisert på 08/09/2009 klokken 16:11
bruker
På andre språk...                            


3 svar

stemmer
118

git show HEAD^:path/to/file

Du kan bruke en eksplisitt forplikte identifikator eller HEAD~nå se eldre versjoner, eller om det har vært mer enn én forplikte siden du slettet den.

Svarte 08/09/2009 kl. 16:15
kilden bruker

stemmer
7

Siden du kanskje ikke husker den nøyaktige banen, kan du i stedet få SHA1 fra git loggen så kan du bare utstede

 git cat-file -p <sha1>
Svarte 01/05/2012 kl. 23:55
kilden bruker

stemmer
36

Hvis dette er en fil du har slettet en stund tilbake, og ønsker ikke å jakte på en revisjon , kan du bruke (filen heter fooi dette eksempelet, du kan bruke en full bane):

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

Den rev-listpåkalling ser for alle revisjoner av foo, men bare viser én. Siden rev-listlister i omvendt kronologisk rekkefølge, så hva det viser er den siste revisjonen som endret foo, noe som ville være begå som slettet foo. (Dette er basert på antagelsen om at git ikke tillater en slettet fil som skal endres og likevel forbli slettet.) Du kan ikke bare bruke den revisjonen som rev-listreturnerer som det er fordi fooikke lenger eksisterer der. Du må be om en like før det som inneholder siste versjon av filen, derav ^i git show.

Svarte 01/11/2013 kl. 10:31
kilden bruker

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