Programming

자식 서브 모듈을 추가 할 때 "당신은 아직 태어나지 않은 지점에 있습니다"

procodes 2020. 7. 23. 20:40
반응형

자식 서브 모듈을 추가 할 때 "당신은 아직 태어나지 않은 지점에 있습니다"


.vim/bundles디렉토리에 몇 가지 하위 모듈을 추가하려고 하는데이 특정 저장소를 추가하려고하면 Git에서 전에 본 적이없는 이상한 오류가 발생합니다.

$ git submodule add -f git://github.com/derekwyatt/vim-scala.git .vim/bundle/vim-scala
fatal: You are on a branch yet to be born
Unable to checkout submodule '.vim/bundle/vim-scala'

이 문제를 일으킬 수있는 아이디어가 있습니까?

하위 모듈 명령을 통하지 않고 테스트 디렉토리에 동일한 저장소를 복제하면 정상적으로 작동하고 예상 파일을 작성합니다.


이 오류를 해결하려면 .git/modules/디렉토리 내부의 서브 모듈에 대한 경로가 동일한 폴더를 삭제해야합니다 . 이 오류는 하위 모듈이 처음 추가되었을 때 하위 모듈에 대한 URL이 올바르지 않은 경우 발생할 수 있습니다.


당신은 서브 모듈을 추가 할 필요가 내부에 그 REPO 추가 및 서브 모듈 링크를 커밋 상태에 있어야합니다, 기존의 repo 자체의 repo 서브 모듈은 체크 아웃 할 것을 약속해야합니다.

이제 다른 곳에서 일반 복제본을 만들 수 있으면 하위 모듈 리포지토리 자체가 정상이어야합니다. 그러나 submodule add복제본이없는 동안 저장소가 비어 있으면 불평 하는 것처럼 보입니다 . 이 사람 은 동일한 submodule add명령을 다시 실행하여 해결할 수 있다고 제안 합니다.

내부 저장소가 비어 있지 않으면 서브 모듈 포함 할 저장소를 확인하십시오 . 같은 사용자가 실행 한 디렉토리로 변경 git submodule add하고, 실행 git status, 그리고 git branch당신이 포함 REPO가 만든 적어도 하나 개의 지점을 가지고 이상한 상태가 아님을 확인합니다.


master분기 가없는 하위 모듈을 추가하는 경우이 오류가 발생할 수 있습니다 . 서브 모듈을 추가 할 때 다른 분기를 사용하려면 (예 develop를 들어) 다음 명령을 사용할 수 있습니다.

git submodule add -b <branch> <repository>

@ drew-noakes가 암시하는 것처럼, 이것은 .gitignore 파일에 나열된 디렉토리 이름을 사용하여 서브 모듈을 추가하려고 할 때 발생할 수 있습니다 .

참고 URL : https://stackoverflow.com/questions/11887203/you-are-on-a-branch-yet-to-be-born-when-adding-git-submodule

반응형