대신 실행 하고 며칠 전 버전으로 git 저장소를 덮어쓰는 tar x
실수를 저질렀습니다 . tar c
이렇게 하면 을 포함하여 내가 만든 모든 새 파일이 보존됩니다 .git
. 가능한 한 많이 복원하려면 어떻게 해야 합니까?
답변1
만일의 경우를 대비하여 먼저 전체 혼란의 복사본을 만드십시오.
git fsck
매달린 개체와 커밋이 표시됩니다. 최신 매달려 있는 커밋을 찾으세요. 모든 커밋 해시를 입력하면 gitk
맨 위에 최신 "최근" 해시만 표시됩니다. 작업할 커밋이 몇 개뿐인 것 외에도 되돌릴 분기도 하나뿐입니다. 헤드가 여러 개인 경우 이는 더 복잡해집니다.
그런 다음 git stash
현재 커밋되지 않은 변경 사항을 검사에서 숨깁니다.
git reset --hard
그런 다음 위에서 결정된 커밋 해시를 얻을 수 있었습니다 .
git stash pop
또한 매우 깔끔하게 다시 병합됩니다. 제가 원하는 거의 모든 것을 얻은 것 같아요.