나는 자식 서브 모듈을 만들고이를 주 저장소에 푸시했습니다. 이것은 정상적으로 작동하고 브라우저를 통해 저장소의 하위 모듈을 볼 수 있습니다.git submodule 업데이트가 한 컴퓨터에서 오류로 실패하지만 다른 컴퓨터에서 작동합니다.
제대로 작동하는지 테스트하려면 원본을 새로 빌드하는 트리를 가져 오려고했습니다. 먼저 git submodule init
을 실행 한 다음 git submodule update <submodule-name>
으로 실행했습니다.
이 오류와 함께 실패합니다
error: pathspec 'x/mypkg' did not match any file(s) known to git. Did you forget to 'git add'
내가 서브 모듈로하지만 운
.gitmodules
에 URL을 추가했습니다.
나는 매우 비슷한 경우를 가졌지 만 아직 확실하지 않다고 생각한다. 나는 새 서브 모듈로 추가 한 라이브러리를 가지고 있었고 다른 서브 모듈은이 라이브러리를 사용했습니다. 먼저 라이브러리를 수정하고 커밋 한 다음 밀어 넣고 수정 한 다음 사용하는 하위 모듈을 밀어 넣었습니다. 내 경우에는 아무도 이걸 수정하지 않습니다. 이상하게도 라이브러리를 사용하는 하위 모듈을 업데이트 할 수 없습니다. –
@GauravSinha'git submodule update'에서 오류가 발생하면, 서브 모듈이 가리키고있는 자식 커밋 ID를 찾을 수 없기 때문입니다. URL을 잘못 입력했거나 서브 모듈이 가리키는 커밋을 푸시하지 않은 경우 "신선한 트리"를 작성하고 있기 때문입니다. –
그것이 잘못된 URL일지도 모른다고 생각합니다. 손가락을 건드렸습니다. –