이것은 상황입니다. git 저장소에서 일부 작업을 잃어 버렸습니다.이 작업은 한 번 커밋되었지만 지금 내 기록에 묻혀 있습니다. 어딘가에 있습니다. 그건 'git log --all'에 의해 접근 할 수 없을 수도 있습니다. 내가 기억할 수있는 유일한 사실은이 시간에 내 작업의 일부인 파일을 찾아 낼 수있는 뚜렷한 문자열입니다.주어진 문자열을 포함하는 파일을 포함하는 트리가있는 트리의 커밋 SHA1을 찾는 방법
해결책이 있습니다.하지만 길기 때문에 더 좋은 해결책이 있습니까?
내 여러 명령 일괄 처리에 의해 SHA1을 커밋 찾기 위해 관리했습니다 :
이
내 솔루션입니다 첫째- .git의 모든 '덩어리'개체를 찾는 데/객체를 '자식 고양이 grep을 사용하여 내 파일이 들어있는 BLOB의 SHA1을 찾으십시오.
- 그런 다음 파일의 SHA1을 포함하는 다른 '트리'객체에 포함 된 트리 객체까지 모든 '트리'객체를 구문 분석해야했습니다.
- 마지막으로이 루트 트리가 포함 된 모든 커밋을 구문 분석합니다.
http://stackoverflow.com/questions/2839253/gest-history-find-lost-line-by-keyword – simplyharsh
@simplyharsh :이 질문은 다릅니다. 커밋에 어떤 분기에서도 도달 할 수 없습니다. – Cascabel