मैं एक नंगे रेपो को अपडेट करना चाहता हूं, और इसे हुक का उपयोग करके कुछ करने के बाद कुछ किया है। मुझे किसका उपयोग करना चाहिए? गिट-एसएमएम किताब कहती है कि सभी रेफरी अपडेट होने के बाद वे दोनों आग लग गए हैं, इसलिए मुझे नहीं पता कि अंतर क्या है।पोस्ट-प्राप्त और पोस्ट-अपडेट के बीच क्या अंतर है?
उत्तर
documentation से:
के बाद प्राप्त होता है:
यह है कि यह उनके नाम के अलावा सभी refs के दोनों पुराने और नए मूल्यों हो जाता है में
<post-update>
हुक प्रतिस्थापित करता है।
बाद अद्यतन:
'के बाद अद्यतन' हुक बता सकते हैं कर रहे हैं सिर कि धकेल दिया गया है, लेकिन यह क्या उनके मूल और अद्यतन मान होते हैं, पता नहीं है क्या इसलिए यह एक है पुरानी जगह लॉग करने के लिए पुरानी जगह .. नया।
<post-receive>
हुक रेफरी के मूल और अद्यतन मूल्य दोनों प्राप्त करता है। यदि आपको उनकी आवश्यकता हो तो आप इसे इसके बजाय विचार कर सकते हैं।
Git के लिए एक recent commit 2.2+ (नवंबर 2014), Junio C Hamano (gitster
) से उल्लेख करते हैं:
pre-receive
औरpost-receive
हुक पुरानी शैली में सुधार होने कीupdate
औरpost-update
हुक, जो ले डिजाइन किए गए थे उनकी कमांड लाइन पर अद्यतन जानकारी और कमांड लाइन लंबाई सीमा द्वारा सीमित हैं।इसी जानकारी को मानक सीमा से खिलाया जाता है ताकि इस सीमा को उठाने के बजाय हुक को पूर्व/पोस्ट-हुक प्राप्त किया जा सके।
इन नए स्टाइल हुकों के लिए मानक इनपुट स्ट्रीम से पूरी तरह अद्यतन जानकारी का उपभोग करना अनिवार्य है। अन्यथा, वे
SIGPIPE
के माध्यम से प्राप्त-पैक प्रक्रिया को मारने का जोखिम उठाएंगे।
अब यह कहते हैं: एक हुक सभी जानकारी को देखने के लिए नहीं चाहता है
है, यह
/dev/null
करने के लिए अपने मानक इनपुट भेजने के लिए आसान है (शायद हुक के एक आला उपयोग पता करने के लिए आवश्यकता हो सकती है केवल एक तथ्य यह है कि एक पुश बनाया गया था, यह जानने के बिना कि कौन सी ऑब्जेक्ट्स को रीफ्रेश करने के लिए धक्का दिया गया है), और यह पहले से मौजूद मौजूदा हुक द्वारा किया जा चुका है।हालांकि, क्योंकि लगातार असफल असफल होने का कोई अच्छा तरीका नहीं है जो इनपुट को पूरी तरह से उपभोग नहीं करता है (एक छोटे धक्का के परिणामस्वरूप एक छोटा अपडेट रिकॉर्ड हो सकता है जो पाइप बफर के भीतर फिट हो सकता है, जिस पर
receive-pack
प्रक्रिया का प्रबंधन हो सकता है हुक के पास लिखने से पहले बाहर निकलने का मौका है, जिसके परिणामस्वरूपreceive-pack
की मौत-दर-सिगिपिप नहीं होगी), इससे "ब्लू चाँद में एक बार" प्रेत विफलता का निदान करने में कठिनाई हो सकती है।इस "हुक को अपने इनपुट को पूरी तरह से उपभोग करना चाहिए" जनादेश लिफ्ट करें।
हम्म। केवल स्पष्ट करने हेतु। 'इसे उठाओ "हुक को अपने इनपुट को पूरी तरह से" जनादेश "का उपभोग करना चाहिए। - क्या इसका मतलब यह है कि यह वास्तव में क्या पढ़ता है: इसे * हटाया नहीं गया है, लेकिन सांता की इच्छा है, जो प्रतिबद्ध संदेश में अजीब तरह से गलत है? या यह वास्तव में "लिफ्ट * एड *" है, तो हम आखिरकार जश्न मना सकते हैं? :) धन्यवाद! –
@ एसजे। यह उठाया गया है। ऐसा इसलिए है क्योंकि "एक जनादेश जिसे सख्ती से लागू नहीं किया गया है, हमें हुक में गलतियों को पकड़ने में मदद नहीं कर रहा है" उस उठाए गए जनादेश के परिणामस्वरूप: "यदि किसी हुक के पास जानकारी पढ़ने के बिना अपने ऑपरेशन के नतीजे का निर्णय लेने का एक अच्छा कारण है हम इसे खिलाते हैं, इसे ऐसा करने दें क्योंकि यह प्रसन्न होता है। " – VonC
ठीक है, धन्यवाद। समस्या शब्द के साथ थी, संदेश में इस्तेमाल किया गया गलत तनाव, जिसने इसे संदिग्ध बना दिया। और गिट ने मुझे कभी भी चेहरे के मूल्य पर शब्दों के अपने अस्पष्ट विकल्पों पर भरोसा नहीं किया है। और अब मैं आपका उत्तर +1 कर सकता हूं, जिसे मैं आपकी टिप्पणी के साथ पूरा कर सकता हूं। –
- 1. # {} $ {} और% {} के बीच क्या अंतर है?
- 2. [अपरिभाषित] और [,] के बीच क्या अंतर है?
- 3. $ और $$ के बीच क्या अंतर है?
- 4. के बीच क्या अंतर है:। और: आर !?
- 5. भिन्नता और '-' के बीच क्या अंतर है?
- 6. "$^एन" और "$ +" के बीच क्या अंतर है?
- 7. के बीच क्या अंतर है?
- 8. अंतर और कहां के बीच क्या अंतर है?
- 9. file_get_contents और fread बीच क्या अंतर है
- 10. क्या बीच का अंतर है :: और ::: स्काला
- 11. "। +" और "। +?" के बीच अंतर
- 12. $ {} और # {} के बीच अंतर क्या हैं?
- 13. PHP के बीच क्या अंतर है और इसमें शामिल है?
- 14. अपवाद के .TOString() और मैसेज के बीच क्या अंतर है?
- 15. 7zip के 7z.sfx और 7zsd.sfx के बीच क्या अंतर है?
- 16. डीएल के फाइलवर्सन और उत्पादवर्जन के बीच क्या अंतर है?
- 17. UIImageView के फ्रेम और सीमाओं के बीच क्या अंतर है?
- 18. फ़ायरबग के console.log() और console.debug() के बीच क्या अंतर है?
- 19. पैरामीटर परिभाषाओं के बीच अंतर (प्रकार और नाम), और (प्रकार * नाम) के बीच अंतर क्या हैं?
- 20. ओरिएंटब संस्करणों के बीच क्या अंतर है?
- 21. एन्कोड/डीकोड के बीच क्या अंतर है?
- 22. os.popen() विधियों के बीच क्या अंतर है?
- 23. MATLAB में & &&& के बीच क्या अंतर है?
- 24. ऑब्जेक्ट और * के बीच अंतर?
- 25. इन कार्यों के बीच क्या अंतर है?
- 26. applicationDidReceiveMemoryWarning, didReceiveMemoryWarning के बीच क्या अंतर है?
- 27. इन कार्यों के बीच क्या अंतर है
- 28. window.innerWidth window.outerWidth के बीच क्या अंतर है?
- 29. Response.Write() औरResponse.Output.Write() के बीच क्या अंतर है?
- 30. वीबीए: और + के बीच अंतर
मैं बस एक स्क्रिप्ट लॉन्च करना चाहता हूं जो कि मेरे रेपो पर धक्का देने के बाद काम करने वाले पेड़ के आधार पर मेरे सर्वर (एफ़टीपी के माध्यम से) फ़ाइलों को अपडेट करेगा। तो, यह तीन जगह है: एक स्थानीय रेपो, एक और स्थानीय रेपो, और एक एफ़टीपी स्थान (गैर-गिट)।जब मैं एक रेपो को दबाता हूं, तो मैं इस तरह की एक स्क्रिप्ट लॉन्च करने का सबसे अच्छा समय कब होगा (मैं एफ़टीपी पर कौन सी फाइलों को समझने के लिए 'गिट diff' का उपयोग करूँगा)? – trusktr
पोस्ट-प्राप्त पोस्ट-अपडेट की कार्यक्षमता का एक सुपर-सेट है, और सिर के धक्का देने के बाद यह है कि मुझे लगता है कि पोस्ट-प्राप्त पर्याप्त होना चाहिए। –
मैं वेन लू से सहमत हूं - हम कुछ ऐसा करते हैं और 'पोस्ट-प्राप्त' – Nic