이전 버전으로 덮어쓴 Git 저장소 복원

이전 버전으로 덮어쓴 Git 저장소 복원

대신 실행 하고 며칠 전 버전으로 git 저장소를 덮어쓰는 tar x실수를 저질렀습니다 . tar c이렇게 하면 을 포함하여 내가 만든 모든 새 파일이 보존됩니다 .git. 가능한 한 많이 복원하려면 어떻게 해야 합니까?

답변1

만일의 경우를 대비하여 먼저 전체 혼란의 복사본을 만드십시오.

git fsck매달린 개체와 커밋이 표시됩니다. 최신 매달려 있는 커밋을 찾으세요. 모든 커밋 해시를 입력하면 gitk맨 위에 최신 "최근" 해시만 표시됩니다. 작업할 커밋이 몇 개뿐인 것 외에도 되돌릴 분기도 하나뿐입니다. 헤드가 여러 개인 경우 이는 더 복잡해집니다.

그런 다음 git stash현재 커밋되지 않은 변경 사항을 검사에서 숨깁니다.

git reset --hard그런 다음 위에서 결정된 커밋 해시를 얻을 수 있었습니다 .

git stash pop또한 매우 깔끔하게 다시 병합됩니다. 제가 원하는 거의 모든 것을 얻은 것 같아요.

관련 정보