2014-04-06 4 views
2

Linux Magrathea 3.6.11 이상 # 474 PREEMPT 목요일 Jun 13 17:14:42 BST 2013 armv6l GNU/Linuxon Raspberry. GIT Server로 작동합니다. 저장소에는 가지가 없습니다. 나는 초보자이지만 자식을 좋아한다.HDD 크래시 후 GIT 저장소 복구

fsck을 사용하여 일부 데이터를 복구 할 수 있었으며 Lost-Found에있는 git 개체를 발견했습니다.

  • 새로운 빈 자식 저장소 만들기 : 새 저장소 .git/objects
  • 실행 git fsck --full

나쁜 오류로 git init

  • 복사 모든 개체를 여기에 몇 가지 스레드를 읽은 후 나는 다음과 같은했다.

    하지만 git log을하려고하면 나는

    치명적인 얻을 : 나쁜 기본 수정 'HEAD'

    다음 단계는 무엇입니까? 마지막 상태를 다시 연결하는 방법?

    git clone [email protected]:/gitroot/chorus을 사용하여 저장소를 복제하려고하면. 저장소가 비어 있다는 것을 알았습니다.

    미안하지만 나는 힘내의 단순한 사용자입니다. 나는 git의 내부 구성에 대해 알려진 것이 없다.

    친절하고 저에게 몇 가지 조언을 해주십시오.

  • +0

    왜이가 오프 주제로 선정되었습니다? faq states stackoverflow는 "프로그래머가 일반적으로 사용하는 소프트웨어 도구"에 관한 것이며, vcs 사용이 스택 오버 플로우에 대한 주제에 있다고 판단 된 경우가 많습니다. 재개를위한 투표. – eis

    +0

    @ user3503533 앞으로는 여러 장치에 리포 사본을 보관하는 것이 좋습니다. 하나의 장치에 오류가 발생하면 다른 장치 중 하나에서 새 복사본을 복제 할 수 있습니다. –

    답변

    2

    HEAD이 존재하지 않을 때 그 메시지가 나타납니다. git init을 수행하면 보통 master 브랜치에 HEAD이 첨부됩니다. 아직 수정하지 않았습니다. 따라서 : "bad default revision"은 "아니요"기본 개정을 의미합니다.

    따라서 개체를 복구 한 저장소에서 .git/logs/refs/heads/master을 보면 두 번째 단어 (awk {print $2;exit})가 필요합니다. REPO에서는,

    git update-ref -m "reconstructing the repo" refs/heads/masterthat_sha을 구성하고 있습니다.

    지금 내가 기억 하듯이 git fsck은 심판을 뒤쫓아 왔으며 아직은 없으므로 침묵을 지키지 않았을 것입니다. 행운을 빕니다.

    (편집 : git branch masterthat_sha 아마 ... 잘 작동)