Как изменить удаленный репозиторий для подмодуля git?
В Git 2.25 (первый квартал git-submodules 2020 г.) вы можете изменить его.
См. «Git submodule url changed» и submodule новую команду
git submodule set-url [--]
Предупреждение: Hi-Angel упоминает submodules in the comments (проверено даже с Git 2.31.1):
С git-commands
git submodule set-url
следует быть осторожным, потому git что в нем есть ошибка:Если git-submodules внутри вашего файла
.gitmodules
путь submodules выглядит так:some-path
, а затем вы git-submodules выполняетеgit submodule set-url some-path/ new-url
(обратите внимание git на завершающую косую черту submodule/
), тогда вместо изменения git-submodules существующего подмодуля команда submodules будет добавить еще один.
Исходный submodule ответ (май 2009 г., десять git-submodules лет назад)
Собственно, патч submodule has been submitted in April 2009 для уточнения роли gitmodule
.
Итак, теперь git-submodules gitmodule documentation еще не включает:
Файл
.gitmodules
, расположенный git в каталоге верхнего уровня git рабочего дерева git, представляет submodule собой текстовый файл с синтаксисом, соответствующим submodules требованиям -of linkgit: git-config git-submodules 3.
[НОВОЕ]:
Поскольку этим git-submodules файлом управляет Git, он submodule отслеживает + записи подмодулей git проекта.
Информация, хранящаяся git в этом файле, используется submodules в качестве подсказки для git запуска авторитетной версии submodules записи, хранящейся в файле submodules конфигурации проекта.
Пользовательские git-commands изменения записей (например, для git-commands учета различий в URL-адресах submodules подмодулей из-за сетевых submodules ситуаций) должны быть внесены submodules в файл конфигурации, при этом должны быть внесены изменения записи (например, + из-за перемещения источника подмодуля) в этот файл.
Это git в значительной степени подтверждает git-commands Jim's answer.
Если вы последуете этому git git submodule tutorial, вы увидите, что вам нужен submodules «git submodule init
» для добавления URL-адресов git-submodules репозитория подмодулей в submodule .git / config.
"git submodule sync
" имеет git-submodules been added in August 2008 именно для того, чтобы упростить git-submodules эту задачу при изменении submodule URL-адреса (особенно, если submodules важно количество подмодулей).
Связать git-submodules сценарий с этой командой submodule достаточно просто:
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
Цель остается: git config remote."$remote".url "$url"
git
git-submodules
Как изменить удаленный репозиторий для подмодуля git?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.