2011-10-20 14 views
8

मुझे पता है कि इसकी अनुशंसा नहीं की जाती है, लेकिन मेरे पास कई परियोजनाओं के साथ फ़ोल्डर्स हैं जिन्हें मैं अद्यतित रखना चाहता हूं।जीआईटी: एकाधिक रिपो पर प्रतिबद्ध करने का कोई तरीका?

वहाँ एक कमांड जो किसी फ़ोल्डर में प्रत्येक Git भंडार के लिए देखो और निम्न कमांड भेज देंगे है ..

git add -u 
git add . 
git commit -m 'Latest' 

तो मैं बस कुछ फ़ोल्डर में सीडी, तो एक आदेश है कि उन्हें हो जाता है सभी अद्यतन चला सकते हैं ?

यह एक submodules सवाल

+1

हो सकता है कि इस सवाल का जवाब एक .sh –

+1

है हालांकि यह करने के लिए तरीके हैं, मैं एक भी रिपोजिटरी के लिए ऊपर कर अनुशंसा नहीं करते हैं, अकेले उनमें से एक गुच्छा जाने हैं। मुझे लगता है कि "मिनी कोड समीक्षा" के रूप में आपके कामों का इलाज करने से साफ इतिहास रखने में बहुत मदद मिलती है - जो कोड रखरखाव में लंबी अवधि में बहुत मदद करता है: क्रॉस संशोधन बगफिक्सेस, अवांछित पैच को हटाने आदि। – vhallac

+0

क्या आपने वास्तव में पहले नहीं देखा क्या मैंने लिखा था ?! –

उत्तर

5

कारण है कि आप कुछ इस तरह का प्रयोग नहीं करते:

#!/bin/bash 
for DIR in `ls`; 
do 
    if [ -d $DIR/.git ]; 
    then 
      echo "updating location: " $DIR; 
      cd $DIR 
      # your commands here... 
      git add -u 
      git add . 
      git commit -m 'Latest' 

      cd .. 
    fi 
done 
+0

क्या आप इसे बना सकते हैं ताकि यह कॉपी और पेस्ट हो? मुझे यकीन नहीं है कि मेरे आदेश कैसे जोड़ें: \ –

+0

@ किर्क: मुझे आशा है कि आप एक * निक्स सिस्टम का उपयोग कर रहे हैं, इसलिए आपको सचमुच केवल अपने ग्रे बॉक्स से कमांड को '# अपने आदेशों के बीच रखना होगा ... 'और' सीडी ..' – Scolytus

+1

@ स्कॉलीटस इसे विंडोज़ पर mingw (परीक्षण), msysgit (परीक्षण नहीं किया गया) में भी काम करना चाहिए। – maiklos

2

शायद तुम mr (homepage) की तरह कुछ के लिए देख रहे हैं नहीं है। मैं इसे एक बार में रिपोज़ का एक गुच्छा अपडेट करने के लिए उपयोग करता हूं, लेकिन यह आपके इच्छित सामानों को करने के लिए कॉन्फ़िगर किया जा सकता है। यह आधिकारिक रिपोज़ में उबंटू और डेबियन पैकेज के रूप में भी उपलब्ध है। अन्यथा आप केवल एक स्क्रिप्ट लिख सकते हैं जो आपके लिए सामान करता है।

2

Disclamer: यह स्वयं के कोड है। यदि आप इसका उपयोग करते हैं या फोर्क करते हैं, तो मेरे पास कोई वित्तीय लाभ नहीं है, लेकिन यह वास्तव में इस तरह के परिदृश्य के लिए लिखा गया था और शायद यह मदद करता है। ;)

मैंने गिट्लू लिखा था। आप रिपॉजिटरीज टैग कर सकते हैं और मनमानी कमांड टैग-आधारित निष्पादित कर सकते हैं। चेक this tutorial about gitglue या कांटा gitglue on Github.

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