2012-01-11 3 views
6

내 프로젝트에서 git submodule을 참조하고 있으며 이제는 target git repo에서 특정 SHA를 참조해야합니다.자식 서브 모듈 : 특정 SHA를 지정 하시겠습니까?

# .gitmodules 
[submodule "vendor/plugins/ssl_requirement"] 
    path = vendor/plugins/ssl_requirement 
    url = git://github.com/retr0h/ssl_requirement.git 

내가 원하는 SHA는 bc96ad96407a72a60e0542cf3b0cecc6ff9e278e입니다.

답변

20

서브 모듈은 정의상 서브 프로젝트에서 항상 특정 SHA1을 참조합니다. 그 SHA1은 .gitmodules 파일에서 표현되지 않지만 그 대신에 서브 모듈을 포함하는 트리 객체의 엔트리로 표현됩니다. git에서 설정하는 방법은 서브 모듈에 cd을 넣고 원하는 SHA1을 체크 아웃 한 다음 상위 레포로 cd을 다시 보내고 변경 사항을 커밋하여 변경된 파일처럼 표시합니다. 당신이 무엇을 할 수 귀하의 경우 그래서

cd vendor/plugins/ssl_requirement 
git checkout bc96ad96407a72a60e0542cf3b0cecc6ff9e278e 
cd .. 
git add ssl_requirement 
# commit whenever you're ready 
+1

일이다; 그게 거의 내가 쓰는 바로 그거야. 서브 모듈이 그 커밋 전에 원점에서 마지막으로 가져온다면 서브 모듈에서'git fetch'를 가져 와서 가져올 수 있습니다. – Cascabel

+0

감사합니다. 완벽한 말이됩니다! – Zubin

관련 문제