2010-01-06 6 views
5

मैं सोच रहा था कि प्रत्येक गिट सबमिशन के लिए एक से अधिक यूआरएल होना संभव है या नहीं। यदि उनमें से एक नीचे है या कोई प्रॉक्सी के पीछे है तो उनमें से एक को अवरुद्ध करने में रुचि होगी।गिट सबमोड्यूल: क्या प्रत्येक के लिए एक से अधिक यूआरएल होना संभव है?

क्या आपको कभी यह समस्या है? आप इसे कैसे हल करेंगे?

उत्तर

4

जहाँ तक मुझे पता है, एक submodule केवल एक यूआरएल है, जो में संदर्भित है है:

  • .gitmodules
 
    $ cat .gitmodules 
    [submodule "a"] 
      path = a 
      url = /home/moses/subtut/public/a/.git 
    [submodule "b"] 
      path = b 
      url = /home/moses/subtut/public/b/.git 
  • और की .git निर्देशिका के config में सबमिशन

मतलब यदि वह यूआरएल डाउन है, तो उसे दो स्थानों में बदलना पड़ सकता है, लेकिन मैंने उस प्रक्रिया का परीक्षण नहीं किया है।


से Gattster

git submodule sync. 

अच्छा टिप्पणियां docs के अनुसार:

सिंक्रनाइज़ submodules 'दूरस्थ यूआरएल विन्यास .gitmodules में निर्दिष्ट मान के लिए सेटिंग।
यह तब उपयोगी होता है जब सबमिशन यूआरएल अपस्ट्रीम बदलता है और आपको तदनुसार अपने स्थानीय भंडारों को अपडेट करने की आवश्यकता होती है।

  • "git submodule sync" सभी submodules
  • सिंक्रनाइज़ करता है, जबकि "git submodule sync -- A" केवल सिंक्रनाइज़ करता submodule 'ए'।

इसका अर्थ है कि संशोधित .gitmodule बेहतर अलगाव में किया जा सकता है (अर्थात एक शाखा में) उन नए यूआरएल मान्य किया जा सकता है/प्रकाशित जब तक।

+0

यूआरएल बदलने की समस्या यह है कि जब मैं मुख्य भंडार, .gitmodules भी काम किया जाएगा और वे यूआरएल मुख्य भंडार क्लोन करने वाले सभी के लिए काम नहीं कर सकते हैं। मैंने एक स्थानीय शाखा के काम के बारे में सोचा था कि मास्टर से एकमात्र अंतर यह है कि इसके .gitmodules के अलग-अलग यूआरएल हैं। बदसूरत, लेकिन काम करेगा, -/ – Silas

+1

मुझे लगता है कि आप 'गिट सबमिशन सिंक' चला सकते हैं। दस्तावेज़ों के मुताबिक, यह "submodules 'रिमोट यूआरएल कॉन्फ़िगरेशन सेटिंग को .gitmodules में निर्दिष्ट मान पर सिंक्रनाइज़ करता है। यह तब उपयोगी होता है जब सबमिशन यूआरएल अपस्ट्रीम बदलता है और आपको तदनुसार अपने स्थानीय भंडारों को अपडेट करने की आवश्यकता होती है।" – Gattster

+0

@qris जो मुझे http://stackoverflow.com/questions/12078365/how-exactly-does-git-submodule-work/12078816#12078816 की याद दिलाता है: 'गिट सबमिशन अपडेट' भी खतरनाक है। – VonC

1

मुझे विश्वास नहीं है कि यह संभव है। अपने प्रोजेक्ट को चेक करके, अपने सबोडोड्यूल को प्रारंभ करके और फिर सीडी को एक सबमिशन निर्देशिका में मैन्युअल रूप से करना और नए रिपोजिटरी यूआरएल में गिट रिमोट मूल को अपडेट करना संभव है।

संबंधित मुद्दे