2013-03-04 3 views
1

어제 두 가지 커밋을했고 인터넷 연결이 없기 때문에 푸시하지 못했습니다. 그 후, 나는 약간의 코드를 작성했고, 그것이 꽤 엉망이며, 그것을 HEAD 커밋으로 되 돌리고 싶다는 것을 깨달았다. 나는 git reset --hard HEAD을했고 내 파일 중 일부는 잃어 버렸다. 이제 저는 1 주일 된 버전을보고 있는데 내 자식 상태는 Your branch is ahead of 'origin/master' by 2 commits이라고 말합니다. 내 시스템의 빈 파일 (포함 헤더 만)에도 '손실 된'파일 중 일부는 내 git 상태로 수정되어 나열됩니다.푸시하지 않고 커밋 재설정 재설정

내 코드를 복구 할 수 있습니까?

답변

0

정말로 커밋 한 경우 git reflog으로 업데이트 기록을 볼 수 있습니다. 분기 및 태그와 상관없이 복제본에서 수행 된 모든 작업을 나열합니다.

로컬 변경 사항이 포함 된 저장소에 git reset --hard HEAD을 기록한 경우 저장소가 손실됩니다. 이는 귀하의 사례 인 것 같습니다. git log을 실행할 때 어제 로그에서 작성한 2 개의 커밋을 계속 볼 수 있습니까? 이 메시지는 으로 표시됩니다. 분기가 'origin/master'보다 2만큼 앞당겨졌습니다 ().

+0

예, 두 개의 커밋을 볼 수 있습니다. – Mercurial

+0

두 커밋에는 잃어버린 두려운 변경 사항이 포함되어 있습니까? –

+0

예. 방금 버전을 비교할 때 xCode에서 Local (현재) 버전과 HEAD 버전이 실제로 손실 된 코드임을 알 수있었습니다. 문제는 일부 파일이 누락되어 있고 필자도 필요하다는 것입니다. – Mercurial