जवाबों:
विषय शाखाएँ आमतौर पर हल्की शाखाएँ होती हैं जिन्हें आप स्थानीय रूप से बनाते हैं और इनमें एक नाम होता है जो आपके लिए सार्थक होता है । वे वे हैं जहाँ आप बग फिक्स या सुविधा के लिए काम कर सकते हैं (उन्हें फीचर शाखा भी कहा जाता है), जिन्हें पूरा होने में कुछ समय लगने की उम्मीद है।
एक अन्य प्रकार की शाखा "रिमोट शाखा" या "रिमोट-ट्रैकिंग शाखा" है। इस प्रकार की शाखा किसी और के काम के विकास का अनुसरण करती है और आपके स्वयं के भंडार में संग्रहीत होती है। आप समय-समय पर इस शाखा को अपडेट करते हैं (उपयोग करके git fetch
) कि कहीं और क्या हो रहा है। जब आप हर किसी के बदलाव को पकड़ने के लिए तैयार होते हैं, तो आप git pull
भ्रूण और मर्ज दोनों का उपयोग करेंगे ।
मैंने एक अन्य प्रकार की शाखा भी देखी है जो मूल रूप से एक ही रिपॉजिटरी में फ़ाइलों का एक पूरी तरह से अलग पेड़ है। उदाहरण के लिए, Git भंडार में ही सिर नामित होता है आदमी और एचटीएमएल कि पूरी तरह से अलग सामग्री होती है मास्टर शाखा। मुझे नहीं पता कि इस प्रकार की शाखाओं को आमतौर पर क्या कहा जाता है।
यह तकनीकी शब्द नहीं है; यह सिर्फ एक शाखा को संदर्भित करता है जिसे एक विशिष्ट सुविधा को लागू करने या बग को ठीक करने के लिए बनाया गया था। "विषय" शाखा के निर्माण का कारण है, अनिवार्य रूप से।
https://github.com/dchelimsky/rspec/wiki/Topic-Branches यह अच्छी तरह से समझाता है:
एक "विषय" शाखा एक अलग शाखा है जिसका उपयोग आप "एकल विषय" (एक बग फिक्स, एक नई सुविधा, या एक प्रयोगात्मक विचार) पर काम करते समय करते हैं। "मास्टर" के ऊपर सीधे के बजाय विषय शाखा पर काम करने की सलाह दी जाती है क्योंकि:
{... लिंक पर जाएं ...}
इसलिए, इन सभी कारणों से, एकल-प्रतिबद्ध बगफिक्स और जैसे सरल योगदान के लिए भी सबमिशन तैयार करने के लिए एक विषय शाखा का उपयोग करने की सिफारिश की जाती है।
यह नमूना भी उदाहरण देता है। जो मुझे वास्तव में सोचने के लिए मिला, यह शायद वही है जो ज्यादातर दुकानें पहले से ही करती हैं। चुस्त परियोजनाओं के सभी मैं कभी के साथ किया गया है। मैंने वें को उत्कीर्ण किया "यह एक तकनीकी शब्द नहीं है" क्योंकि मुझे लगता है कि यह सिर पर कील मारता है।
यह सबसे प्रमुख और महत्वपूर्ण प्रकार की शाखाएं लगती हैं जो विषय शाखाएं नहीं हैं एक प्रमुख, सार्वजनिक रूप से उपलब्ध भंडार पर शाखाएं जारी होंगी, है ना?
यह शायद आपके लिए सही है, लेकिन आपके और उस प्रोजेक्ट के बारे में जो आप सोच रहे हैं; यह Git द्वारा निर्धारित नहीं है।
अधिकांश संस्करण नियंत्रण प्रणाली (विशेष रूप से केंद्रीकृत वाले) एक विशेष वर्कफ़्लो को निर्धारित या लागू करते हैं, जिसमें यह शामिल है कि इसके लिए एक शाखा का उपयोग करने का क्या मतलब है। गिट (और कुछ हद तक सबसे अधिक वितरित वीसीएस) पर विचार करें कि वर्कफ़्लो, किस शाखाओं के लिए उपयोग किया जाता है, कब, क्या अलग रिपोज़ के लिए उपयोग किया जाता है, आदि सभी को उपयोगकर्ताओं और उपयोगकर्ताओं द्वारा चुना जाता है (नीतियों)। तो Git इनको तकनीकी रूप से लागू नहीं करता है।
यह उन चीजों में से एक है, जिसने मुझे सीखने के लिए Git को कठिन बना दिया। ऑलिवर स्टील ने इसे यूजर्स के नजरिए से समझाया, कमिटमेंट पॉलिसी के बारे में लिखा ।