2011-03-03 2 views
1

Git이 객체를 저장하는 방법에 대해 조금 배우는 것에 대해 최근에 흥분했습니다. 즉, 해시가 0f9f33986446bd8e832dac72177295bb75d3ec90 인 커밋 (또는 트리 또는 블로그)을 찾고 있다면 .git 디렉토리에서 찾을 수 있습니다. 프로젝트, 이하 objects/0f/9f33986446bd8e832dac72177295bb75d3ec90. 즉, 해시의 처음 두 글자는 하위 디렉토리이고 나머지는 파일 이름입니다.Git의 팩 파일은 어디에 저장되어 있습니까?

저장 용량을 확인하는 방법은 깔끔하지만 그 후에는 Git Community Book의 팩 파일에 대해 읽습니다.

링크를 올바르게 이해하고 있습니까? 동일한 디렉토리 구조에 저장되어 있지 않습니까? 그렇지 않은 경우 정확하게 어디에 저장됩니까?

답변

2

./objects/pack 미만 (git gc을 발사해야 할 수 있음). 포장 재료는 실제로 잘 포장하는 경향이있는 다소 깔끔한 휴리스틱을 따릅니다. 팩을 빨리 검색 할 수 있습니다 :

cd ${PROJECT}/.git && find . | grep pack 
+0

팩이 모두 .git/objects/pack 인 경우 팩을 검색하는 이유는 무엇입니까? 왜'ls $ {PROJECT}/.git/objects/pack'을하지 않을까요? – MatrixFrog

+0

당신이 어디에 살고 있는지 모르는 경우 팩을 잡는 방법에 대한 힌트로 더 많이 보였습니다. –