Com o Git 2.25 (primeiro trimestre de 2020), você pode modificá- lo.
Consulte " URL do sub-módulo Git alterado " e o novo comando
git submodule set-url [--] <path> <newurl>
Resposta original (maio de 2009, dez anos atrás)
Na verdade, um patch foi enviado em abril de 2009 para esclarecer a gitmodule
função.
Portanto, agora a documentação do gitmodule ainda não inclui:
O .gitmodules
arquivo, localizado no diretório de nível superior de uma árvore de trabalho do git, é um arquivo de texto com uma sintaxe que corresponde aos requisitos -de linkgit: git-config 1 .
[NOVO]:
como esse arquivo é gerenciado pelo Git, ele rastreia os registros + dos submódulos de um projeto.
As informações armazenadas neste arquivo são usadas como uma dica para preparar a versão autorizada do registro armazenado no arquivo de configuração do projeto.
Alterações de registro específicas do usuário (por exemplo, para contabilizar diferenças nos URLs do submódulo devido a situações de rede) devem ser feitas no arquivo de configuração, enquanto alterações de registro a serem propagadas (por exemplo, + devido a uma realocação da fonte do submódulo) devem ser feitas nesse arquivo .
Isso praticamente confirma a resposta de Jim .
Se você seguir este tutorial do submódulo git , verá que precisa de um " git submodule init
" para adicionar os URLs do repositório do submódulo a .git / config.
" git submodule sync
" foi adicionado em agosto de 2008 precisamente para facilitar essa tarefa quando o URL é alterado (especialmente se o número de submódulos for importante).
O script associado a esse comando é direto o suficiente:
module_list "$@" |
while read mode sha1 stage path
do
name=$(module_name "$path")
url=$(git config -f .gitmodules --get submodule."$name".url)
if test -e "$path"/.git
then
(
unset GIT_DIR
cd "$path"
remote=$(get_default_remote)
say "Synchronizing submodule url for '$name'"
git config remote."$remote".url "$url"
)
fi
done
O objetivo permanece: git config remote."$remote".url "$url"
git submodule set-url [--] <path> <newurl>