This commit is contained in:
Andrei Astafev 2020-04-11 19:44:15 +03:00
parent 2bcf387ba4
commit 494c9f31d6

View File

@ -3,15 +3,35 @@
:category: Программирование :category: Программирование
:tags: программирование, git, :tags: программирование, git,
Если у подмодуля, находящегося в каталоге `thirdparty/example` нужно Если у подмодулей необходимо заменить адрес синхронизации и/или
заменить адрес синхронизации и имя используемой ветки, то в каталоге с имя используемой ветки, то можно отредактировать в корневом
файлом `.gitmodules`, в котором содержится информация об этом подмодуле, каталоге проекта файл `.gitmodules` и выполнить данный скрипт:
нужно выполнить команды:
[source,sh] [source,sh]
---- ----
git config --file=.gitmodules submodule.thirdparty/example.url https://github.com/username/ABC.git #!/bin/bash
git config --file=.gitmodules submodule.thirdparty/example.branch new-branch-name
git submodule sync --recursive # Замена адресов для подмодулей:
git submodule update --init --recursive --remote # 1. Отредактировать файл .gitmodules
# 2. Запустить этот скрипт
#
# Параметры:
# - имя подмодуля (если присутствует, то замена
# адреса производится только для данного подмодуля)
M="#"
[ ! -z $1 ] && M="$1"
cat .gitmodules | while read s; do
s=${s/\*/}
s=${s/path = /}
if [ "$M" = "#" -o "x$M" = "x$s" ]; then
rm -rf .git/modules/$s
rm -rf $s
fi
done
git submodule sync
git submodule update
---- ----