2011-05-04 3 views

답변

13

당신은, 각각의 서브 모듈의 구성 변수 submodule.<submodule-name>.url을 변경 예컨대 필요 :

git config submodule.whatever.url http://github.com/nvie/shFlags.git 

그런 다음 git submodule update을 할 때 구성 변수에서 URL을 사용하는 서브 모듈에서 실행되는 git fetch. 당신이 서브 모듈에 origin을 변경하려는 경우

, 당신은 몇 가지 별도의 단계를 수행해야합니다 :

cd whatever 
git remote rm origin 
git remote add origin http://github.com/nvie/shFlags.git 

을 ...하지만 당신이 적극적으로 그 서브 모듈에서 작동하지 않는 경우, 당신은하지 않습니다 그것에 대해 걱정해야합니다.

서브 모듈을 초기화 할 때 .gitmodules 파일이 submodule.<submodule-name>.url 변수를 설정하는 데 사용됩니다. .gitmodules 파일의 새 버전을 푸시하지 않는 한 변경 할 가치가 없습니다. 복제 할 수있는 모든 사람이 .gitmodules 파일의 URL에 액세스 할 수 있도록하는 것이 좋습니다 (예 : 일반적으로 .gitmodules 파일을 SSH URL)

+0

정말 고마워요! 나는 이것을 즐겨 찾는 주제로 표시 할 것입니다. – slatvick

6

이것은 서브 모듈이 어떻게 등록되었는지에 달려 있습니다. 파일 .gitmodulesgit submodules init 앞에 편집해야합니다.

+0

흠 작동하지 않습니다. 참조 용으로 git-flow를 설치하려고합니다. .gitmodules는 http : //github.com/nvie/shFlags.git로 설정되어 있지만, 서브 모듈 업데이트를 할 때 여전히 git : //github.com/nvie/shFlags.git (scratching head)에서 가져 오려고합니다. – Webjedi

+2

나는 말했다 : "이전에''서브 모듈 init'". 'init'를 호출하면 서브 모듈을'.git/config'에 등록 할 것이고'.gitmodules'에 대한 모든 변경은 아무런 효과가 없습니다. '.git/config' 파일을 편집하려고 할 수도 있습니다.하지만 예상대로 작동하면 잘 모릅니다 : X – KingCrunch

+0

예. 나는 그것을하기 전에했다. – Webjedi

관련 문제