2008-10-14 9 views
11

मेरे पास एक छोटी परियोजना है जिसे मैं किसी अन्य मशीन के साथ साझा करना चाहता हूं जिस पर हम सभी तक पहुंच है। मैं के साथ"परियोजना विवरण फ़ाइल" त्रुटि?

git clone --bare --no-hardlinks path/to/.git/ repoToShare.git 

मैं तो सर्वर से repoToShare.git चले गए स्थानीय रेपो के एक नंगे कॉपी बन जाएगी।

मैं इसे बाहर की जाँच कर सकते हैं निम्नलिखित के साथ:

git clone ssh://[email protected]/opt/gitroot/repoToShare.git/ test 

मैं तो स्थानीय रेपो में सब कुछ देख सकते हैं और उस के खिलाफ प्रतिबद्ध कर सकते हैं। जब मैं रिमोट सर्वर पर वापस परिवर्तन को धक्का देने का प्रयास करता हूं तो मुझे निम्न त्रुटि मिलती है।

*** Project description file hasn't been set 
error: hooks/update exited with error code 1 
error: hook declined to update refs/heads/master 

कोई विचार?

उत्तर

19

गिट हुक निर्देशिका में पूर्व-कॉन्फ़िगर किए गए हुक का एक गुच्छा स्थापित करता है, जो बॉक्स निष्पादित नहीं करता है। यदि आप उन्हें निष्पादित करने की अनुमति देते हैं (जैसे। Chmod + x) तो git उन्हें चलाने का प्रयास करेगा। विशेष त्रुटि पॉप अप हो जाती है क्योंकि डिफ़ॉल्ट अद्यतन चलाने में विफल रहता है। ठीक करने के लिए, डिफ़ॉल्ट अद्यतन हुक हटाएं।

this link सहायता करता है? पाठ से:

मेरा एक सहयोगी ने यहां एक समान समस्या आती धक्का था, जहां काम करने नहीं । आप स्थानीय या रिमोट पब्लिक रिपोजिटरी पर धक्का नहीं दे सके। वह प्रोजेक्ट विवरण फ़ाइल प्राप्त कर रहा था .git/hooks/update द्वारा फेंक दिया गया त्रुटि सेट नहीं किया गया है। यह त्रुटि लिनक्स या विंडोज बॉक्स पर एक ही प्रोजेक्ट के लिए नहीं हो रही थी, और यह केवल Windows Vista पर हो रहा था। से मेरा शोध हुक/अपडेट डिफ़ॉल्ट निष्पादित नहीं है, लेकिन विंडोज विस्टा में फ़ाइल अनुमतियों का अर्थ है कि यह था। हुक/अद्यतन को हटाने के लिए इन मुद्दों को हल किया गया हल किया गया।

+1

सटीक समस्या यह है कि यदि हुक/अपडेट स्क्रिप्ट निष्पादित अनुमतियां हैं, तो यह कोशिश करेगा और निष्पादित करेगा, जिसका अर्थ है कि आपकी सामग्री टूट जाएगी। :( –

+1

गिट 1.6 को पूर्व-स्थापित हुक को अनदेखा करके इस समस्या को ठीक करना चाहिए जब तक कि आप उनका नाम न लें। तो गीट 1.6 व्यापक होने के बाद विंडोज़ पर नए गिट उपयोगकर्ताओं को इस समस्या को देखना बंद कर देना चाहिए। – tialaramex

+0

क्या यह सिग्विन में 1.6.0.4 का उपयोग करके मेरे साथ होता अद्यतन फ़ाइल को हटाने के लिए इसे मेरे लिए तय किया गया है। – bradtgmurray

16

हुक/अपडेट हटाना वह नहीं है जो आप करना चाहते हैं।

बस जो भी आप चाहते हैं उसे संपादित करें/विवरण बदलें - उदाहरण के लिए "फूडबार रिपोजिटरी", या, यदि आप फ्रेंच हैं, "ले डिपो डी फूडबार"।

+0

मुझे निश्चित रूप से कुछ सामग्री है .git/description में, फिर भी मुझे अभी भी मिलता है त्रुटि –

+0

सामग्री डिफ़ॉल्ट रूप से जोड़े गए एक गिट से अलग होना चाहिए। – takeshin

+2

मैं फ्रेंच विवरण डालने जा रहा हूं भले ही मैं भाषा नहीं बोल सकता ... – Rimian

2

मैं इस त्रुटि के रूप में अच्छी तरह से हो गया, जब मैक ओएस एक्स (Git संस्करण 1.6.1, MacPorts साथ संकलित) से एक उबंटू दूरदराज के भंडार के लिए जोर दे (Git संस्करण 1.5.4.3)

मैं का नाम जोड़ दिया है स्थानीय और दूरस्थ भंडार दोनों पर .git/विवरण फ़ाइल में भंडार और इसे ठीक किया गया।

0

मुझे @dragulesq के समान समस्या थी, लेकिन Red Hat सर्वर के साथ।

थोड़ा और वर्बोज़ होने के लिए बस अपने स्थानीय पर .git/विवरण फ़ाइल में एक स्ट्रिंग के रूप में जो कुछ भी चाहते हैं उसे रखें (मेरे मामले में मेरे मैक ओएस एक्स); मैंने वेबसाइट और फिर रिमोट सर्वर पर जो गिट रेपो (जैसे बोलने के लिए) होस्ट करता है, उसे .git/description फ़ाइल संपादित करें और उसी स्ट्रिंग को दोबारा डालें (उदा। वेबसाइट)।

1

chmod -x हुक/अद्यतन

उपरोक्त आदेश अपने .git निर्देशिका से मार डाला केवल निकाल अद्यतन हुक से अनुमतियों को निष्पादित करेंगे। फ़ाइल को हटाने की कोई आवश्यकता नहीं

1

फ़ाइल हटाएं या इसके निष्पादन को रोकने के लिए अत्यधिक समाधान लगते हैं। यदि आप कोई प्रोजेक्ट विवरण नहीं जोड़ना चाहते हैं, तो यह पर्याप्त टिप्पणी है या पुश क्रियाओं को अवरुद्ध कर रहे हुक/अपडेट में लाइनों को हटा दें। मेरी फाइल में, ये पंक्तियां हैं:

# check for no description 
projectdesc=$(sed -e '1q' "$GIT_DIR/description") 
if [ -z "$projectdesc" -o "$projectdesc" = "Unnamed repository; edit this file to name it for gitweb." ]; then 
     echo "*** Project description file hasn't been set" >&2 
     exit 1 
fi 

जब मैंने उनसे टिप्पणी की, तो सब ठीक काम किया।

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

  • कोई संबंधित समस्या नहीं^_^