‘git submodule’을 사용하여 특정 버전의 하위 모듈을 확인하려면 어떻게해야합니까? Git 하위 모듈을 추가하려면

특정 태그 또는 커밋에 대한 Git 하위 모듈을 추가하려면 어떻게해야합니까?



답변

서브 모듈 저장소는 특정 커밋을 가리키는 분리 된 HEAD 상태로 유지됩니다. 해당 커밋을 변경하려면 단순히 다른 태그 또는 커밋을 체크 아웃 한 다음 변경 사항을 상위 저장소에 추가하면됩니다.

$ cd submodule
$ git checkout v2.0
Previous HEAD position was 5c1277e... bumped version to 2.0.5
HEAD is now at f0a0036... version 2.0

git-status 이제 부모 저장소에서 더티 트리를보고합니다.

# On branch dev [...]
#
#   modified:   submodule (new commits)

하위 모듈 디렉토리를 추가하고 새 포인터를 저장하도록 커밋합니다.


답변

1 단계 : 하위 모듈 추가

   git submodule add git://some_repository.git some_repository

2 단계 : 특정 커밋에 하위 모듈 수정

기본적으로 새 하위 모듈은 마스터 브랜치의 HEAD를 추적하지만 기본 저장소를 업데이트 할 때 업데이트되지 않습니다. 특정 커밋 또는 다른 분기를 추적하도록 하위 모듈을 변경하려면 일반 저장소에서와 같이 디렉토리를 하위 모듈 폴더로 변경하고 분기를 전환합니다.

   git checkout -b some_branch origin/some_branch

이제 서브 모듈은 마스터의 HEAD 대신 개발 브랜치에서 수정되었습니다.

에서 : 특정 커밋 또는 지점에 타이 망할 놈의 서브 모듈 – 두 사람이 논쟁 .


답변