2013-06-05 11 views
5

pisałem README.md plik na zdalnym serwerze i zakończone, że jeden, ale przypadkowo zrobił push force na pilocie za pomocą git push origin master a teraz README.md zniknąłodzyskać zastąpione git commit utracone przez siły naciśnięciem

Czy istnieje sposób na odzyskanie tego zatwierdzenia? Napisałem bardzo długi plik README.md i naprawdę chcę zobaczyć, czy mogę go odzyskać :(

Szukałem przez git fsck i nie mogłem znaleźć tego o README.md, który mam commit od zdalny serwer na github.com

+0

Czy zrobiłeś 'pisanie pliku README.md na serwerze zdalnym' w github lub własnym serwerze? – pktangyue

+0

@pktangyue to było na serwerze github i było wyświetlane w sekcji zatwierdzenia tam – Ali

+0

Możesz dostać stronę indeksu github, aby sprawdzić, czy nie ma żadnych informacji o twoim utraconym zatwierdzeniu. – pktangyue

Odpowiedz

6

W Publicznej Działalność z github, można zobaczyć coś takiego:

XXX pushed to master at XX/XXX 
d506bb1 Update README.md. 

I tu d506bb1 jest utracone popełnić.

6

Gdyby istniał w jakiejś kopii roboczej, przejdź do tego repo i używać git reflog znaleźć rewizji, że zawierał on i git checkout aby przejść do tej wersji (poza dowolnym oddziale). Następnie można skopiuj plik tam, gdzie chcesz.

Jeśli serwer jest pusty, prawdopodobnie nadal jest obiektem na serwerze , ale nie ma go wcale f git fetch skopiuje go do dowolnego innego repozytorium, ponieważ nie ma do niego odniesienia. W takim przypadku będziesz potrzebować dostępu do gołego repo, aby bezpośrednio uruchomić swoją git fsck.

+0

Nie mam szczęścia na 'git reflog', którego nie ma na mojej lokalnej maszynie :(, a ja wypróbowałem 'git fsck', ale nie przeszedłem jeszcze ich wszystkich, ale naprawdę jest ich wiele :( – Ali

+0

Kopałem wokół mojej strony aktywności i znalazłem plik: D – Ali