2.25 Git (Q1 2020) के साथ, आप इसे संशोधित कर सकते हैं।
" गिट सबमॉडल url बदल गया " और नया कमांड देखें
git submodule set-url [--] <path> <newurl>
मूल उत्तर (मई 2009, दस साल पहले)
दरअसल, भूमिका को स्पष्ट करने के लिए अप्रैल 2009 में एक पैच प्रस्तुत किया गया हैgitmodule
।
तो अब gitmodule प्रलेखन में अभी तक शामिल नहीं है:
.gitmodules
Git-config: फ़ाइल, एक Git काम कर पेड़ के शीर्ष-स्तरीय निर्देशिका में स्थित, आवश्यकताओं के- linkgit मिलान एक वाक्य रचना के साथ एक पाठ फ़ाइल है 1 ।
[NEW]:
जैसे ही यह फ़ाइल Git द्वारा प्रबंधित की जाती है, यह किसी प्रोजेक्ट के सबमॉड्यूल के + रिकॉर्ड को ट्रैक करती है।
इस फ़ाइल में संग्रहीत जानकारी प्रोजेक्ट कॉन्फ़िगरेशन फ़ाइल में संग्रहीत रिकॉर्ड के आधिकारिक संस्करण को प्राइम करने के संकेत के रूप में उपयोग की जाती है।
उपयोगकर्ता विशिष्ट रिकॉर्ड परिवर्तन (उदाहरण के लिए नेटवर्किंग स्थितियों के कारण सबमॉड्यूल URL में अंतर के लिए खाता) कॉन्फ़िगरेशन फ़ाइल के लिए किया जाना चाहिए, जबकि रिकॉर्ड परिवर्तन प्रचारित किया जाना चाहिए (जैसे + सबमॉड्यूल स्रोत के स्थानांतरण के कारण) इस फ़ाइल में किया जाना चाहिए ।
यह बहुत जिम के जवाब की पुष्टि करता है ।
यदि आप इस git सबमॉड्यूल ट्यूटोरियल का अनुसरण करते हैं, तो आपको git submodule init
.it / config में सबमॉड्यूल रिपॉजिट URL को जोड़ने के लिए " " की आवश्यकता है ।
" git submodule sync
" अगस्त 2008 में जोड़ा गया है कि URL को बदलने पर उस कार्य को आसान बनाने के लिए (विशेषकर यदि सबमॉड्यूल की संख्या महत्वपूर्ण है)।
उस कमांड के साथ सहयोगी स्क्रिप्ट काफी सरल है:
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 submodule set-url [--] <path> <newurl>