2012-04-30 19 views
41

मेरे पास मेरे जीथब प्रोजेक्ट में कुछ योगदानकर्ता हैं। मैं केवल उनमें से एक को मास्टर को "धक्का" देने की अनुमति देना चाहता हूं। और यह आदमी मुझे नहीं है (भंडार का मालिक)। यह करना संभव है?गीथब में "मास्टर" की रक्षा कैसे करें?

+0

यह एक निजी परियोजना है देखते हैं? यदि ऐसा नहीं है, तो उन्हें सहयोगी होने की आवश्यकता नहीं है - वे फोर्क अनुरोध कर सकते हैं और विशेष रूप से पुल अनुरोधों का उपयोग कर सकते हैं (जो परिवर्तनों को मर्ज करने के लिए छद्म कोड समीक्षा के स्तर को लागू करता है) – Daenyth

+1

यह कार्यक्षमता github द्वारा समर्थित नहीं है, लेकिन यदि आप देख रहे हैं इसी तरह के समाधानों के लिए: असेंबला रेपॉजिटरीज़ इसका समर्थन करते हैं: http://blog.assembla.com/assemblablog/tabid/12618/bid/96330/Put-Down-Your-Forks- परिचय- संरक्षित- शाखाएं .aspx DIY - स्व-होस्टिंग गिट: http://git-scm.com/book/ch7-4.html DIY - स्वयं-होस्टिंग mercurial: http://mercurial.selenic.com/wiki/AclExtension – Titas

+0

यह भी देखें http://stackoverflow.com/a/5097437/6309 – VonC

उत्तर

34

फिर, जब यह प्रश्न पोस्ट किया गया था, तो गिटहब ने आपको शाखा स्तर पर एक्सेस विशेषाधिकार निर्दिष्ट करने की अनुमति नहीं दी थी। आप इसे केवल भंडार स्तर पर ही कर सकते हैं। तो आप जो अनुरोध कर रहे हैं वह संभव नहीं था।

  • आप प्रतिबद्ध हुक, आदि किसी तरह का इस्तेमाल कर सकते हैं तो कम से कम किसी को है कि कुछ गलत हुआ
  • आप तो सूचित करने के लिए:

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

पर लिखने की आवश्यकता हो, मुझे लगता है कि कुछ संगठन के साथ इसे हल करना आसान है। मेरी टीम में, हम सीधे मास्टर को कुछ भी नहीं दबाते हैं, बल्कि इसके बजाय हमेशा पुल अनुरोध बनाते हैं। यह सुनिश्चित करता है कि कम से कम कोई कोड विलय हो जाने से पहले एक नज़र डालें और आप एक पॉलिसी भी परिभाषित कर सकते हैं कि केवल आपके "लड़के" को पुल अनुरोधों को मर्ज करने की अनुमति है।

अद्यतन

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

+6

+1। – Daenyth

+3

"हम कभी भी मास्टर को सीधे कुछ भी नहीं दबाते हैं" - क्योंकि आप नहीं कर सकते हैं या क्योंकि आप सहमत नहीं हैं? – yegor256

+3

क्योंकि हम इसे करने के लिए सहमत नहीं थे। कभी-कभी तकनीकी के बजाय मुलायम समाधान ढूंढना आसान होता है। – Sebi

3

यह वही है जो फोर्किंग के लिए डिज़ाइन किया गया था। आपके पास मुख्य भंडार सुरक्षित होगा, और आप सभी योगदानकर्ताओं के लिए उस भंडार पर पढ़ने की अनुमति की अनुमति देंगे। उन योगदानकर्ताओं ने रेपो को फोर्क कर दिया, और मुख्य परिवर्तनों की अपनी व्यक्तिगत प्रतियों में अपने परिवर्तनों को धक्का दे दिया। जब वे मुख्य भंडार में कोड पेश करने के लिए तैयार होते हैं, तो वे मुख्य रेपो में एक पुल अनुरोध जमा करेंगे। इस मामले में, मुख्य परियोजना के मालिक पुल अनुरोध पूरा कर सकते हैं।

+3

फोर्किंग/पीआर वर्कफ़्लो के साथ समस्या यह है कि मुख्य प्रतिनिधि पर "लिखने" विशेषाधिकार रखने वाले सदस्य अभी भी इसे धक्का दे सकते हैं। –

9

नोट: Protected branches and required status checks (सितम्बर 3, 2015) आप एक शाखा

    मजबूर खिलाफ
  • धक्का दिया
  • विलोपन
  • के खिलाफ
  • मर्ज किए गए परिवर्तन के खिलाफ की रक्षा करने के लिए जब तक आवश्यक स्थिति जांचों में कामयाब
की अनुमति देगा

https://cloud.githubusercontent.com/assets/25792/9596474/27db3ce6-502a-11e5-9b19-5b47a8addc65.png


मार्च वर्ष 2016 के बाद से, commented नीचे Sander द्वारा के रूप में, आप User and team restrictions

कभी कभी एक संरक्षित शाखा में विलीन हो जाती है सबसे अच्छा एक रिलीज प्रबंधक या कि विशेष शाखा की स्थिरता के लिए जिम्मेदार लोगों की एक टीम के लिए छोड़ दिया जाता है । संगठन अब निर्दिष्ट कर सकते हैं कि कौन से सदस्य और टीम संरक्षित शाखा में धक्का दे सकते हैं।

https://cloud.githubusercontent.com/assets/4719/14140705/ed98abac-f67a-11e5-951e-b48c842fb77f.png

+5

करुणा, आप अभी भी कुछ सदस्यों तक शाखा पहुंच प्रतिबंधित नहीं कर सकते .... मास्टर शाखा के लिए उस सुविधा को पसंद करेंगे। –

+3

मैं सहमत हूं, या कम से कम केवल संरक्षित शाखाओं के लिए प्रशासकों को विलय करने में सक्षम होना चाहिए। – joeybloggs

+1

@PratikBothra https://github.com/blog/2137- संरक्षित-branches-improvements लगता है जैसे यह अब संभव है। :) – Sander

0

अब हम उपयोग कर सकते हैं "CODEOWNERS" फ़ाइल वैध एक पुल अनुरोध करने के लिए कोड के स्वामी से समीक्षा की आवश्यकता है। हम उनके गिटहब खाते के आधार पर अलग-अलग अनुमतियां सेट कर सकते हैं।

here और here

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