Git은 서브 모듈에 대한 커밋의 SHA1을 어디에 저장합니까?


141

하위 모듈을 git 저장소에 추가하면 sha1이 참조하는 해당 하위 모듈의 특정 커밋을 추적한다는 것을 알고 있습니다.

이 sha1 값이 저장된 위치를 찾으려고합니다.

.gitmodules.git/config파일 만 서브 모듈에 대한 경로가 아니라 커밋의 SHA1을 보여줍니다.

자식-서브 모듈 (1) 참조 만 말하고 gitlink항목과 gitmodules (5) 참조 중 하나 이것에 대해 아무 말도하지 않습니다.


답변:


167

Git의 객체 데이터베이스에 직접 저장됩니다. 서브 모듈이있는 디렉토리의 트리 객체는 서브 모듈의 커밋에 대한 엔트리를 가질 것입니다 (이것은 소위 "gitlink"입니다).

git ls-tree master <path-to-directory-containing-submodule>(또는 git ls-tree master서브 모듈이 최상위 디렉토리에있는 경우) 시도하십시오 .


14
네. 나는 지금 어디에 있는지 본다. 그리고의 ID와 일치합니다 git submodule status. 감사.
Abizern

7
병합하는 동안 어디에 저장되며 하위 모듈이 충돌합니까?
Adam Dymitruk 2016 년

@AdamDymitruk, 답을 찾았습니까?
kgadek

1
왜 새로운 질문을 게시하지 않습니까? :-)
Ivan Vučica

3
작업 트리를 업데이트하지 않고 다른 것을 가리 키도록이 커밋 ID를 변경하는 방법이 있습니까?
CMCDragonkai
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.