프로젝트 프로젝트에 서브 프로젝트였던 원격 저장소가 있습니다. 원격 프로젝트를 포크하고 이전 하위 모듈을 제거한 다음 분기 된 복사본을 추가하려고했습니다. 이것은 작동하지 않습니다. 내가 무슨 짓을git submodule add는 저장소를 추가하지 않습니다
했다 :
git submodule deinit path/to/sub
git rm /path/to/sub
git push origin mybranch
다음
git submodule add url_of_forked_project_in_my_repo path/to/sub
내가 --force 또는 --name 사용해야의 REPO 지역 인에 대한 몇 가지 이상한 메시지가, 그리고 끝 그 중 하나를 시도해 본 결과 내 로컬 포크는 내가 만든 모든 변경 사항으로 업데이트되지 않으며 참조는 이전 하위 모듈의 HEAD에 남아 있습니다.
메시지는 다음과 같습니다
에 대한 자식 디렉토리 '경로는// 하위에'(들)을 원격으로 로컬에서 발견된다 : 원산지 자식 : //github.com/SomeoneElse/project 을 원할 경우 [email protected] : myrepo/project.git 에서 '--force'옵션을 다시 사용하는 대신이 로컬 git 디렉토리를 다시 사용하십시오. 로컬 git 디렉토리가 올바른 repo 이 아니면 "--name"옵션을 사용하여 다른 이름을 선택하는 것이 확실하지 않습니다.
--force 옵션을 사용하면 하위 모듈을 가져올 수 있지만 참조가 업데이트되지 않고 메인 프로젝트의 서브 모듈에서 변경 한 내용이 어디에도 전파되지 않습니다. 지역의 의미는 무엇입니까?
필자는 주 프로젝트의 복사본을 업데이트하면 참조가 변경되는 밀 서브 모듈이 정상적으로 실행 되기만하면됩니다.
도움을 주시면 감사하겠습니다.
다음을 확인하십시오 : http://stackoverflow.com/questions/913701/changing-remote-repository-for-a-git-submodule 아마도 저장소의 루트에있는 .gitmodules 파일을 편집하여 문제를 해결할 수 있습니다 수동으로. – jpe
그게 사실 내가 끝내었던 것입니다. 나는 그 같은 수단에 의지 한 유일한 사람이 아니라는 것을 알고있다. – MrSilverSnorkel
누군가에게 더 나은 해결책이있는 경우를 대비하여 답변을 남기지 마십시오. 위에서 언급했듯이 .gitmodules 파일을 편집하여 적절한 repo를 가리 킵니다. 인출 할 때, 우리 팀의 다른 사람들은 모든 것을 흔들 리도록하기 위해'서브 모듈 동기화 '를해야했습니다. – MrSilverSnorkel