38 lines
1.1 KiB
Plaintext
38 lines
1.1 KiB
Plaintext
= Git: замена адреса подмодуля
|
||
:title-separator: {sp}|
|
||
:category: Программирование
|
||
:tags: программирование, git,
|
||
|
||
Если у подмодулей необходимо заменить адрес синхронизации и/или
|
||
имя используемой ветки, то можно отредактировать в корневом
|
||
каталоге проекта файл `.gitmodules` и выполнить данный скрипт:
|
||
|
||
[source,sh]
|
||
----
|
||
#!/bin/bash
|
||
|
||
# Замена адресов для подмодулей:
|
||
# 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
|
||
----
|
||
|