2016-09-29 1 views
2

하지 않습니다 그것은 잘 저장소를 복제하고 모든 확인했다. 내가 부모 저장소에 다시 내 모든 변경을 추진하는 경우자식 서브 모듈의 초기화가 내가 "자식 서브 모듈은 URL 위치를 추가"를 사용하여 서브 모듈을 추가 "자식 서브 모듈 초기화"</p> <p>와 이상한 문제가 절대적으로 아무것도

, 나는 "자식 서브 모듈 초기화"를 사용하여

모든 서브 모듈을 초기화하기 위해 노력하고 아무 일도 발생하지의 .gitmodules 파일을 추가, 등 뒤로 저장소를 복제 : (말 그대로 아무것도, 어떤 출력, 별도의 파일, 심지어는 실제로 아무것도 시도하지 않습니다 그래서

을 궁금하고, 내가 잘못 할 짓을

.gitmodules :.?

bash$ cat .gitmodules 
[submodule "projects/subprojectA"] 
    path = projects/subprojectA 
    url = ssh://[email protected]/test/projectA.git 

[submodule "projects/subprojectB"] 
    path = projects/subprojectB 
    url = ssh://[email protected]/test/projectB.git 

답변

0

복제 할 때 --recursive 옵션을 사용하십시오. 방금 복제 자식의 서브 모듈을 초기화하려는 경우, 당신은

git submodule update --init --recursive 
+0

자식 서브 모듈 업데이트 --init --recursive는 아무것도하지 않으며, 복제도, 아무것도하지 않습니다. 이제는 자식 복제를 시도 할 것입니다 - 재귀 적입니다. –

+0

자식 복제 - 재귀 적으로 서브 모듈을 복제하지 않습니다. 자식 버전을 사용하고 있습니다. 2.10.0 –

+0

.gitmodules 파일을 커밋 한 것입니까? –

5

좋아, 내가 무슨 짓을했는지 알아 낸 사용할 수 있습니다, 또 다른 경우

git clone --recursive 

:이 옵션은 나열된 모든 서브 모듈을 초기화 잘못된. , 나는 자식 서브 모듈을 추가하면

, 나는 자식 상태를했고, 그것은 내가 서브 모듈을 저지 할 didnt는 세 가지가

.gitmodules 
projects/subprojectA 
projects/subprojectB 

내가 저장소에 내 모든 변경을 추진했다 을 변경했다 나에게 말했다 내가 방금 복제 한 모든 파일을 추가 할 것이라고 생각했기 때문에 git 모듈을 추가하고 커밋하고 밀어 넣었습니다.

하지만 이것은 잘못되었습니다. git 커밋을 수행하고 명령을 내리면 모든 것을 커밋해야합니다. 그러면 git이 해당 경로를 등록하고 복제 할 때 작동합니다.

그러나 이러한 폴더를 커밋하지 않으면 부모 저장소를 복제 할 때 해당 폴더를 등록하지 않고 복제하지 않습니다.

내 실수 였기 때문에 이러한 디렉토리를 추가하면 모든 하위 모듈 코드가 상위 저장소에 추가된다는 오해가 있었으며이를 회피하려고 시도했지만 작동을 멈췄습니다.

그래서 당신의 서브 모듈을 추가하고 결과를 커밋, 모든 잘 해결합니다 : D Protectators의 도움을

감사에 관계없이!

+0

감사합니다 !!! 당신은 내 목숨을 구했어 !!! 미안하지만 나는 감사 할 필요가있어서 너무 행복하다. 나는 몇 시간 동안 디버깅을 해왔다. – Zennichimaro

+0

전혀 동의합니다! 당신은이게 얼마나 미치겠 니? – SolThoth

관련 문제