W rzeczywistości łatka has been submitted in April 2009 do wyjaśnienia roli gitmodule
.
Więc teraz gitmodule documentation nie zawiera jeszcze:
Plik .gitmodules
, znajduje się w katalogu najwyższego poziomu drzewa roboczego git, to plik tekstowy o składni dopasowywania wymagań -W linkgit: git-config 1.
[NOWOŚĆ]:
Ponieważ ten plik jest zarządzany przez Git, śledzi on + zapisy podmodułów projektu.
Informacje przechowywane w tym pliku służą jako wskazówka do przygotowania wiarygodnej wersji rekordu zapisanego w pliku konfiguracyjnym projektu.
Zmiany rekordów użytkownika (np. Uwzględnienie różnic w modułach URL stron z powodu sytuacji sieciowych) należy wprowadzić do pliku konfiguracyjnego, , podczas gdy rekordowe zmiany, które mają być propagowane (np. + Z powodu przeniesienia źródła częściowego), powinny zostać wykonane do tego pliku.
To wystarczy potwierdzić Jim's answer.
Jeśli zastosujemy ten git submodule tutorial, widać trzeba „git submodule init
”, aby dodać adres URL repozytorium modułem do .git/config.
"git submodule sync
" ma dokładnie to, co jest łatwiejsze, gdy zmienia się adres URL (szczególnie jeśli liczba podmodul jest ważna).
Stowarzyszonej skrypt z tego polecenia jest dosyć prosta:
module_list "[email protected]" |
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
Celem pozostaje: git config remote."$remote".url "$url"
Co wpływają powinno git modułem synchronizacji mieć? Czy robię to nieprawidłowo na http://gist.github.com/120723, czy też jestem niepoprawny w oczekiwaniu na zmianę .git/config przez synchronizację git submodule? –
To nie wydaje się aktualizować .git/config, przynajmniej w wersji 1.7.1 lub 1.7.3. – notJim
Zaktualizował dla mnie '.git/config', mam git 1.7.5.4. – mxcl