गिट, अधिकांश संस्करण नियंत्रण प्रणालियों की तरह, कई डेवलपर्स द्वारा उपयोग के लिए बेहद उपयुक्त है। वास्तव में, यह एक संस्करण नियंत्रण प्रणाली के मुख्य बिंदुओं में से एक है।
प्रति उपयोगकर्ता शाखा बनाने की कोई आवश्यकता नहीं है। मैं अब तक कहूंगा कि यह प्रतिकूल होगा। यदि आप एक ही सुविधा पर काम कर रहे हैं, तो आप शायद खींचकर और विलय करके एक-दूसरे के बदलाव प्राप्त करना चाहेंगे। प्रति उपयोगकर्ता शाखाएं बनाना अनावश्यक है और अनावश्यक रूप से चीजों को जटिल करेगा।
आपके द्वारा वर्णित प्रतिबद्ध स्थिति समस्याग्रस्त नहीं है। यदि किसी अन्य उपयोगकर्ता ने आपके जैसा ही शाखा पर एक नई प्रतिबद्धता बनाई है, तो आप push
पर प्रयास करने पर रोक देंगे। इसके बजाय आपको पहले उपयोगकर्ता के प्रतिबद्धता के नीचे pull
करना होगा और उन परिवर्तनों के साथ अपने काम को मर्ज (या रीबेस) करना होगा। यह git pull
का मानक व्यवहार है।
सामान्य अभ्यास मुख्य रूप से सुविधाओं पर आधारित शाखाएं बनाना है। यदि आप ब्रांचिंग पर मार्गदर्शन चाहते हैं, this is a popular strategy।
स्रोत
2013-06-25 17:27:00
आपके पास प्रत्येक के लिए एक शाखा है, जब तक कि आप सभी एक ही मशीन पर काम नहीं कर रहे हों। जब आप अपने रेपो को क्लोन करते हैं, तो आपको अपने * अपने * शाखाओं का सेट मिलता है, जिसे हर किसी की शाखाओं के समान नाम दिया जाता है, लेकिन वे अभी भी * आपकी अपनी शाखा * हैं। – meagar
@ मीगर दिलचस्प लगता है, क्या आप इस पर विस्तृत जानकारी दे सकते हैं? – danijar
भंडार का हर क्लोन उदाहरण पूरी तरह आत्मनिर्भर चीज है। आप अपनी शाखा के साथ * जो कुछ भी चाहते हैं * करने के लिए स्वतंत्र हैं, आप तब तक किसी और के पैर की अंगुली पर कदम नहीं उठाएंगे जब तक आप धक्का देने की कोशिश नहीं करते। जब आप पुश करते हैं और खींचते हैं, तो आप "स्थानीय" शाखा के रूप में दूरस्थ शाखा (या इसके विपरीत) सेटअप के साथ अपनी स्थानीय शाखा का विलय कर रहे हैं। यह आपकी स्थानीय मशीन पर किसी भी दो शाखाओं को विलय करने के समान है; वास्तव में, 'गिट पुल' वास्तव में एक विलय है, इसके बाद एक विलय होता है। सादगी के लिए, 'गिट पुश' तेजी से आगे विलय में विलय को प्रतिबंधित करता है, क्योंकि आप रिमोट टकराव को प्रभावी रूप से हल नहीं कर सकते हैं। – meagar