2012-04-01 9 views
5

व्यक्तिगत रूप से, अगर मैं गिट के साथ गिट या लिनक्स रेपो को देखता हूं, तो मैं बड़ी मात्रा में विलय/ब्रांडेड से अभिभूत हूं। मेरे पास बिल्कुल कोई सुराग नहीं है कि क्या हो रहा है।गिट: गिट/लिनक्स रखरखाव कितने शाखाओं को बनाए रख सकते हैं

मुझे लगता है कि सामान्य रूप से आप सार्वजनिक रेपो में जितना संभव हो उतना रैखिक इतिहास और केवल कुछ शाखाएं (जैसे मास्टर, रखरखाव, अगला, पु - यह है) रखने की कोशिश करते हैं। अर्थात। मैंने माना कि विलय शायद ही कभी होता है और ज्यादातर रीबेस का उपयोग किया जाता है। जाहिर है मैं गलत हूँ।

  1. मुझे आश्चर्य है कि क्या Git/लिनक्स देखरेख एक अच्छा आसान सिंहावलोकन
  2. क्यों वे अधिक बार rebase का उपयोग नहीं करते और केवल गुरु, maint की तुलना में अधिक शाखाएं हैं, अगले पु के लिए करते हैं?
+0

शाखाएं सस्ते हैं इसलिए उन्हें अक्सर फायदा होता है :) – Nic

+0

2007 में [Google टेक टॉक] (https://www.youtube.com/watch?v=4XpnKHJAok8) लिनस टोरवाल्ड्स कुछ उदाहरण देता है कि वह गिट का उपयोग कैसे करता है , विशेष रूप से कर्नेल और गिट पर। उस गिट वर्कफ़्लो के लिंक के लिए – andrybak

उत्तर

3

गिट और रिबेस के साथ संबंधों में समझने के लिए एक बहुत ही महत्वपूर्ण बात है।

Do not rebase commits that you have pushed to a public repository. 
बार जब आप किसी मर्ज पर काम कर रहे स्थानीय रूप से आप, कारण यह स्थानीय है के रूप में ज्यादा अक्सर rebase आप की तरह के रूप में उपयोग कर सकते हैं के दौरान

। यदि आपको रैखिक हिस्ट्रॉय पसंद है। दूसरे शब्दों में आप उनके द्वारा किए गए रिबेज कार्य को नहीं देख पाएंगे।

शाखाओं की संख्या के बारे में दूसरा हिस्सा बस एक तरह का अनुभव है और इससे अवधारणा का सवाल है। मैंने समांतर में 300 से अधिक शाखाओं के साथ शाखाकरण किया है ... जो कि सम्मेलनों और एक अच्छी अवधारणा का उपयोग करके जानवर को केवल एक तरह का तबाह कर रहा है।

2

मैं कर्नेल डेवलपर नहीं हूं, और निश्चित रूप से उनके लिए बात नहीं कर सकता। Here's एक संदर्भ जहां लिनस ने इसके बारे में कुछ बात की, मुझे लगता है कि आपके प्रश्नों का उत्तर दें। मैं जोड़ूंगा कि यादृच्छिक शाखाएं उलझन में हैं, लेकिन इस पर थोड़ा ऑर्डर लगाने से आसान शाखाएं IMHO होने के लिए बनाता है। (ऑर्डर के उदाहरण topic/short_name के रूप में विषय शाखाओं का नाम दे सकते हैं, जिसमें सार्थक प्रतिबद्ध संदेश शामिल हैं, देव कुछ बाहरी दस्तावेज रखते हैं और वास्तव में एक दूसरे से बात करते हैं, या जो भी आपके पर्यावरण के लिए उपयुक्त है।)

मैं एक संदर्भ भी शामिल करूंगा this वर्कफ़्लो, क्योंकि यह वास्तव में गिट पढ़ने की आवश्यकता है, और आपके प्रश्न पर लागू होता है।

+0

+1। यह एकमात्र गिट स्पष्टीकरण है जिसे मैंने देखा है। –

0

याद रखें कि, जब आप एक Git रेपो क्लोनिंग कर रहे हैं, आप सभी दूरस्थ शाखाओं (, आमतौर पर master ट्रैकिंग remotes/origin/master) (मिल सकता है, लेकिन आप केवल बना सकते हैं और चेकआउट एक स्थानीय शाखा

यही कारण है कि आप है की तरह "Track all remote git branches as local branches")

अपनी रुचि के विषय पर निर्भर करता है, आप केवल चेकआउट होगा और एक विशिष्ट शाखा को ट्रैक, कुछ काम करो, और origin/branch के शीर्ष पर नियमित रूप से अपने स्थानीय शाखा rebase ऊपर हैं- अपने काम रखने के लिए प्रश्न पूछना चाहते हैं तारीख।

आप आधिकारिक सार्वजनिक शाखाओं से अपनी शाखा में विलय नहीं करेंगे: यह एक विलय होगा, और उन्हें "What is the right git workflow with shared feature branches?" में दिखाए गए अनुसार टालना चाहिए।

0

ग्रेग के-एच Ask a kernel developer कॉलम देखें: वह अपने वर्कफ़्लो को विस्तार से बताता है। ग्रेग स्थिर शाखा के रखरखाव के लिए इस्तेमाल किया जाता था; वह यूएसबी सहित कई उपप्रणाली के लिए मौजूदा रखरखावकर्ता है।

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