2013-01-23 24 views
5

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

एक टीम के नेतृत्व में विलय के बाद पुरानी टिकट शाखाओं के मुद्दे को सामने लाया जाएगा।

मुझे this स्क्रिप्ट मिली और जानना है कि यह हमारे पर्यावरण में काम करेगा या नहीं। हम केवल उन शाखाओं को हटाना चाहते हैं जिन्हें मास्टर में विलय कर दिया गया है।

+0

गिटहब में [शाखाओं को हटाने के लिए बटन] है [https://github.com/blog/1335-tidying-up-after-pull-requests) जिन्हें वे सबमिट की गई शाखा में विलय कर दिए गए थे, लेकिन मुझे लगता है कि आपको बहुत मदद नहीं करता है। –

+0

हाँ, हम उस प्रक्रिया को स्वचालित करना चाहते हैं। लिंक दिखाता है कि इसे खोल के साथ कैसे किया जाए, लेकिन हमें जिथब खोल तक पहुंच नहीं मिलती है, इसलिए इसे क्रोनबॉज करने का कोई तरीका नहीं है, afaik –

+0

तो आप वास्तव में [गिट हुक] (http://git-scm.com) की तलाश में हैं/book/en/customizing-git-git-hooks), अधिक विशेष रूप से 'पोस्ट-मर्ज' हुक के लिए। अगर ऐसा है तो यह काम नहीं करेगा मैं डर रहा हूँ। –

उत्तर

4

जहां तक ​​मुझे पता है आपके उपयोग के मामले में कोई उपयोग करने योग्य उपयोग स्क्रिप्ट नहीं है। इसके लिए आपको अपना खुद का टूल बनाना होगा।

विन्सेंट ड्रिससेन द्वारा git-flow नामक एक उपकरण है जिसे "A successful Git branching model" में वर्णित अपने गिट वर्कफ़्लो के बाद डेवलपर्स की सहायता के लिए बनाया गया था।

यह विलय के बाद शाखा को हटाने के जितना आसान नहीं है क्योंकि आप कभी नहीं जानते कि आप विलय संघर्ष में भाग लेंगे या नहीं।

+0

जो लिंक मैंने जोड़ा है वह स्क्रिप्ट का उपयोग करने के लिए तैयार है, लेकिन मुझे नहीं लगता कि मैं इसे गीथूब के साथ उपयोग कर सकता हूं। –

+0

गिटहब के पास इसके साथ कुछ लेना देना नहीं है। यह सिर्फ एक सेवा है जो आपके भंडारों को होस्ट करती है (और थोड़ा और)। –

+1

हब प्रवाह (http://datasift.github.com/gitflow/) को गिटफ्लो से अनुकूलित किया गया है और यह बहुत अच्छा काम करता है। –

2

1 कमांड के साथ शाखा को मर्ज करने और हटाने के लिए आपके .gitconfig फ़ाइल में से कोई भी निम्न जोड़ें। एक समारोह के रूप

उपनाम: एक नया शेल कमांड के रूप में

[alias] 
    ff = "!f() { git merge $1; git branch -d $1; }; f" 

उपनाम:

[alias] 
    ff = !sh -c 'git merge $1 && git branch -d $1' -- 

वे दोनों सटीक एक ही बात, सिर्फ 2 यह कर के विभिन्न तरीकों से करते हैं।

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