2012-09-07 2 views
3

Git 저장소에서 파일을 제거 할 때 나는 커밋되지 않은 변경 사항이있는 파일도 실수로 제거했습니다.실수로 Git 저장소에서 제거되었습니다.

제거를 되돌릴 때 커밋되지 않은 변경없이 파일이 반환됩니다. 파일의 커밋되지 않은 상태를 되 찾을 수있는 방법이 있습니까? jmort253 조언을 복용

는 heres는,

  1. 만들어진 변경 SourceTree를 사용
  2. (이전에 & 그래서 가 자식에 밀어 최선을 다하고 있었다) 파일에 ... 단계입니다 실수로 일부 파일을 삭제 앞에서 언급 한 파일을 포함하여
  3. 원본으로 푸시
  4. 실현 실수를 범하면 (SourceTree를 사용하여) 커밋을 바꿨습니다.
  5. 파일은 이제 다시이지만 단계에서 도움 1

    희망의 변경 사항이 없습니다.

+0

실수로 파일을 제거한 단계를 설명해야합니다. 그렇지 않으면 사람들은 당신이 한 일을 추측해야합니다. 그러면 도움이되지 않을 수도 있습니다. 이 [편집] 링크를 사용하여 질문을 업데이트하십시오. 행운을 빕니다! – jmort253

+0

나는 그것이 모두 잃어 버렸다는 사실에 대해 합의했다. 단점은 재 작성이 더 나은 코드를 생성 ... 그림 이동합니다. – manuman

+0

내가 너의 신발에 재밌다 는게 뭐니? 때로는 코드를 삭제해도 좋은 결과를 얻을 수 있습니다. :) 다행이 당신을 위해 일했습니다! – jmort253

답변

2

간단히 : 아니오. 커밋되지 않은 파일은 버전 제어 시스템에서 전혀 알지 못하는 파일이므로 (거의 정의에 의해) 버전 제어 시스템은 디스크에서 임의의 파일을 삭제 한 것처럼 더 이상 도움을 줄 수 없습니다 (예 : 파일 저장소의 파일 계층 구조에 없었던 파일).

즉, 커밋되지 않은 변경 사항이 포함 된 저장소의 이전 상태에 stash이 없으면 그렇지 않습니까? (git stash list은 아이디어를 제공해야합니다.)

그렇지 않으면 운영 체제 및 파일 시스템에 적합한 파일 복구 방법을 사용해야합니다.

1

당신은 다음 reflog에보고를 시도해야합니다 :

git rev-list --all --oneline mylostfile.txt 

은 실제 파일 경로와 mylostfile.txt 교체.

파일이 git에 존재하는 경우, 분기가 가리키는 커밋 또는 손실 커밋 중 하나에 파일이있는 경우 나타납니다.

이 파일에 대한 변경 사항이있는 모든 커밋 해시가 표시되므로 하나의 파일에 원하는 파일이 있는지 보려면 개별적으로 봐야 할 수 있습니다.

git보다 표시되지 않으면 해당 파일에 대해 잘 모를 것입니다.

관련 문제