리포지토리 복제시 Git 하위 모듈 폴더 비우기


130

https://github.com/aikiframework/json에 하나의 리포지토리가 있습니다 . 로컬 사본에서 명령을 사용하여 하위 모듈을 추가했습니다.

git submodule add git@github.com:jcubic/json-rpc.git json-rpc

그런 다음 커밋하고 푸시하고 변경 사항이 GitHub에 나타납니다 (클릭 할 수 있음). 하지만 레포를 복제하면

git clone https://github.com/aikiframework/json.git

서브 모듈 폴더 json-rpc가 비어 있습니다.

내가 여기서 무엇을 놓치고 있습니까? 내가 무엇을 잊었습니까? 그 폴더가 왜 비어 있습니까?

답변:


200

좋아 --recursive, 레포를 복제 할 때 추가해야한다는 것을 알았습니다 .

따라서 clone 명령은 다음과 같이 끝납니다.

git clone https://github.com/aikiframework/json.git --recursive

229
네. git submodule update --init이미 복제했지만 잊어 버린 경우을 사용하여 팩트 후에 하위 모듈을 가져올 수도 있습니다 --recursive.
Amber

4
개발 브랜치에는 서브 모듈이 있지만 아직 마스터 브랜치에는 없다는 문제에 직면했습니다. --recursive를 사용하여 git repo를 복제하면 마스터 브랜치에서 하위 모듈을 찾지 못하고 Ambers 주석 "git submodule update --init"를 사용하여 하위 모듈도 가져와야합니다.
d4Rk

11
사용하는 경우 git submodule update --init각 리포지토리로 이동해야하며, git checkout master그렇지 않으면 최신 버전으로 업데이트하려고 할 때 오류 You are not currently on a branch.git pull발생합니다.
Noitidart

@Noitidart는 그렇게하지 않는 방법이 있습니까? (이미 프로젝트를 복제 후)
borgr

1
@Noitidart update --init힌트를 주셔서 감사합니다 . 원래 클론에 포함되어 있지 않고 --recursive누락 된 하위 모듈을 당기 려고 할 때 도움이됩니다 .
Jari Turkia
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.