Вам необходимо изменить переменную конфигурации submodule.<submodule-name>.url
для каждого подмодуля, например:
git config submodule.whatever.url http://github.com/nvie/shFlags.git
Затем, когда вы выполните git submodule update
, git fetch
, который запускается в этом подмодуле, будет использовать URLиз этой переменной конфигурации.
Если вы хотите изменить origin
в этом подмодуле, вам нужно будет выполнить несколько отдельных шагов:
cd whatever
git remote rm origin
git remote add origin http://github.com/nvie/shFlags.git
... но если выВы не работаете активно в этом подмодуле, вам не нужно об этом беспокоиться.
Файл .gitmodules
используется только для установки переменной submodule.<submodule-name>.url
при инициализации подмодуля.Изменять не стоит, если вы не хотите отправить новую версию файла .gitmodules
, и это хорошая политика, чтобы убедиться, что URL-адреса в файле .gitmodules
доступны для всех, кто может клонировать его (например, обычно вы не будете коммитить* .gitmodules
файл с URL-адресами SSH.)