2011-12-16 15 views
10

वर्तमान में हम एसवीएन का उपयोग कर रहे हैं। मैं गिटहब का उपयोग शुरू करना चाहता हूं, लेकिन एक पूर्ण आवश्यकता यह है कि हमें वर्तमान में मौजूद कोड की प्रीकॉमिट (प्रीमेज) सत्यापन की आवश्यकता होगी। क्या गिटहब प्रीकॉमिथूक (premergehooks) का समर्थन करता है?github समर्थन precommithooks करता है?

हम 5 डेवलपर्स की एक टीम हैं। हमने एक समझौता किया है कि सभी कोड (जावास्क्रिप्ट) जेएसलिंट की तरह सत्यापन को पास करना चाहिए। स्वैच्छिक सत्यापन ने काम नहीं किया है क्योंकि यह आसानी से भूल गया है। हम कैसे सुनिश्चित कर सकते हैं कि जेएसलिंट (या इसी तरह) के खिलाफ सत्यापन करने के लिए दूसरों के लिए उपलब्ध कोड की गारंटी है?

+3

(Git! = GitHub) था – smitec

+4

मुझे लगता है कि के बारे में पता कर रहा हूँ और मुझे पता है कि Git precommithooks का समर्थन करता है। इसलिए गिट में जाने से कोई समस्या नहीं होगी, लेकिन हम तब तक ऐसा नहीं करेंगे जब तक कि हम जीथ्यूब का उपयोग नहीं कर सकें। – coen

+0

गिट में प्रीकॉमिट हुक आपकी मशीन पर चलेंगे, अगर वे प्रतिबद्धता को रोकते हैं तो गिटूब – smitec

उत्तर

2

मुझे विश्वास नहीं है कि जीथब प्री-प्रतिबद्ध हुक का समर्थन करता है। हालांकि, गिट कोर करता है। आप स्थानीय रूप से पूर्व-प्रतिबद्ध हुक सेट कर सकते हैं, या अपने मुख्य जिथब में शाखाओं को विलय करने से पहले उन्हें एक परीक्षण के रूप में लागू कर सकते हैं।

+0

हमारे लिए, एक आवश्यकता यह है कि आप अपने कोड को मान्य किए बिना प्रतिबद्ध नहीं कर सकते हैं, इसलिए विलय से पहले परीक्षण दुर्भाग्यवश समाधान नहीं है – coen

+0

शायद आपको जिथब से दूर जाना चाहिए। एक साधारण गिट सर्वर स्थापित करना मुश्किल नहीं है, और फिर आप वैसे ही हुक सेट कर सकते हैं जिस तरह से आप चाहते हैं। –

+0

गिट का पूरा बिंदु आसानी से होने की अनुमति देता है - वास्तव में, ऐसा करना जो आपकी स्थानीय मशीन पर होता है; रिमोट सर्वर पर हुक की कोई मात्रा आपको स्थानीय रूप से बकवास करने से रोक सकती है। शायद आपको 'प्रतिबद्ध' की अपनी परिभाषा को 'विलय' में बदलना चाहिए? या यदि आप अपने उपयोगकर्ताओं पर भरोसा करते हैं तो प्रत्येक ग्राहक काम करने वाली प्रतिलिपि पर हुक की एक प्रति डाल दें। – bdonlan

2

नहीं, गिटहब पूर्व-प्रतिबद्ध हुक का समर्थन नहीं करता है। यह कैसे काम करेगा? पर कंप्यूटर पर काम करना, क्या आप वास्तव में गिटहब को अपनी मशीन पर मनमाने ढंग से कोड चलाने की अनुमति देना चाहते हैं?

+2

जब तक आप स्थानीय रूप से काम कर रहे हों, तब तक विलय करना ठीक होगा, लेकिन जब आप मुख्य भंडार के साथ विलय करते हैं, तो कोड को सत्यापित किया जाना चाहिए। मैं कल्पना कर सकता हूं कि यह उदाहरण के लिए वेबहुक के साथ किया जा सकता है। – coen

+0

//, शायद आप समझा सकते हैं कि प्रश्न को और अधिक समझदार कैसे बनाया जा सकता है? इस बात पर विचार करें कि एसवीएन में इसका सामना करने वाले कई लोगों की पृष्ठभूमि होगी। –

2

मुझे लगता है कि आप गिट के बारे में कुछ मौलिक याद कर रहे हैं। यह एक केंद्रीकृत मॉडल नहीं है (ठीक है, यह हो सकता है, लेकिन यदि आप इसे इस तरह उपयोग करने जा रहे हैं तो जिथब शायद गलत दृष्टिकोण है)। आप GitHub उपयोग कर रहे हैं, यह करने के लिए सही तरीका है:

  1. होस्ट आपका मुख्य रेपो
  2. प्रत्येक बनाने के अपने डेवलपर्स है अपने स्वयं के कांटा
  3. उन्हें खुशी से चलो दूर हैक, प्रतिबद्ध होते हैं और करने के लिए प्रेरित कर उनके दिल की सामग्री
  4. जब उन्हें लगता है कि कोई सुविधा तैयार है, तो वे आपके लिए एक पुल अनुरोध भेजते हैं (रखरखाव) जिसे आप स्वयं स्थिरता सुनिश्चित करने के लिए पक्ष में सत्यापित करते हैं। फिर आप मुख्य परिवर्तन में अपने परिवर्तनों को मर्ज/रीबेज करते हैं।

स्वाभाविक रूप से बिल्ली को त्वचा के कई तरीके हैं। लेकिन जब आप "असली गिट" (ओपन सोर्स समुदाय द्वारा नियोजित प्रकार) के बारे में बात कर रहे हैं, तो केंद्रीकृत "चेक-इन-इन-एंड-द-डेंडेड-वेल-बेस्ट-वर्क" मॉडल मुश्किल है, खासकर जब बड़ी परियोजनाओं की बात आती है।

+1

मैं वास्तव में कर सकता हूं। मुझे 'पुल अनुरोध' सिद्धांत पर एक नज़र रखना चाहिए जिसे मैं पूरी तरह याद करता हूं। – coen

+0

उपयोगकर्ताओं को रेपो को धक्का देने से रोकने के लिए पूरी तरह से उचित है कि जब भी आप लगातार तैनाती कर रहे हों तो परीक्षण विफल हो जाते हैं। – kranzky

+0

@kranzky डाउनवोट के लिए धन्यवाद, हालांकि आप इस जवाब के पूरे बिंदु को याद करते हैं। –

3

मैं इस लेख एक बहुत अच्छा कार्यप्रवाह है कि स्वचालन के लिए एक आधार हो सकता है का वर्णन करता है लगता है:

http://scottchacon.com/2011/08/31/github-flow.html

मुख्य विचार यह है कि आप पुल अनुरोध जैसा कि ऊपर उल्लेख उपयोग करते हैं, लेकिन आप यह भी एक सेवा हो सकता है जो अनुरोध करने, शाखा बनाने, परीक्षण करने, सत्यापित करने के लिए शाखा शाखा को धक्का देने के लिए गिटूब एपीआई का उपयोग कर सकते हैं।

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