У меня есть git-репозиторий, расположенный на моей машине в /path/to/repo
, который содержит несколько подмодулей, /path/to/repo/submoduleA
и /path/to/repo/foo/bar/submoduleB
.
Из-за рабочего процесса, который я не могу изменить, git-репо копируется(как в scp -r) на удаленный сервер, где я работаю над кодом. Я хочу перенести изменения обратно на оригинальную машину. Клонирование / отправка с удаленного сервера не вариант.
Утомительно заходить в каждый подмодуль и делать
git remote add <name> <url>:/server/path/to/repo/<path to submodule>
Есть ли более быстрый путь? Что-то магическое, например
git remote add --submodules <name> <url>:/server/path/to/repo
, выполненное из репо верхнего уровня, которое будет повторяться в каждом субмодуле и добавлять соответствующий относительный путь на пульт каждого субмодуля? git remote --help
ничего полезного не показывает, и ни один из разделов Git Pro Book о подмодулях .
Мой лучший выбор - что-то вроде
git submodule foreach 'git remote add <name> <url>:/server/path/to/repo/...'
может сработать, если есть способ заменить ...
зависимым от цикла относительным путем каждого подмодуля в этом foreach. Я просто не знаю такого механизма, встроенного в git submodule foreach