나무는 역사상 그 어느 특정 지점에 연결되지 파일 및 디렉토리의 계층 적 모음입니다. 예를 들어, 파일을 만든 다음 나중에 파일을 삭제하면 (다른 개입 커밋없이) 시작한 트리와 같은 결과가 나타납니다.
A는 커밋 프로젝트의 역사에서 포인트입니다. 커밋은 트리를 지정하지만 작성자 / 커미터 및 시간, 커밋 메시지 (작성자가 변경 내용을 설명하는 메시지) 및 가장 중요하게는 0 개 이상의 상위 (저장소의 이전 상태)와 같은 다른 정보도 포함합니다. (첫 번째 커밋에는 부모가 없습니다. 그 후 대부분의 커밋에는 선형 개발 중에 하나의 부모가 있고 병합하면 하나 이상이 있습니다.)
git cat-file -p유형에 관계없이 특정 해시의 내용을 인쇄하는 명령으로 이것이 어떻게 작동하는지 이해할 수 있습니다 . 예를 들어 HEAD 커밋을 보려면 다음을 실행할 수 있습니다.
$ git cat-file -p HEAD
tree 81ca1cb660ea79131336944df28b13b711d93557
parent 92b6b8fe9956866ace5397e060e7cc8ee1c76233
parent 7ea2575ed96d150ee19f70edea4bd42c7c2f0b83
author Mislav MarohniÄ <mislav.marohnic@gmail.com> 1436468108 -0700
committer Mislav MarohniÄ <mislav.marohnic@gmail.com> 1436468108 -0700
Merge pull request #951 from github/global-args
Avoid depending on a hardcoded list of git global flags
커밋 내부의 트리를 보려면 트리를 사용할 수 있습니다 cat-file -p.
$ git cat-file -p 81ca1cb660ea79131336944df28b13b711d93557
100644 blob 730f77a3be502cfe6769c1305c0b59c22274caf5 .gitignore
100644 blob bcbd000f6b9ad5b0510f804ac4a3b19306b39c03 .travis.yml
100644 blob da71aa1fa3c3ae47b2fe5e6245ce2eea1586e278 CONTRIBUTING.md
...
마찬가지로 부모를 보면 그도 커밋임을 알 수 있습니다. 커밋 내부의 트리에 대한 속기 rev는 is rev^{tree}입니다. 따라서 이전 명령을 쓸 수있었습니다 git cat-file -p HEAD^{tree}. rev^의 부모 를 나타냅니다 rev. 여러 부모가있을 때, rev^1, rev^2, 등의 자세한 정보는에서 사용할 자식 레브 - 구문 분석 man 페이지 .
commit has세 번째 단락의 시작에서 무엇을 의미합니까?