मैंने हाल ही में जीआईटी पर फीचर शाखाओं की रीबेस रणनीति के विरोध में लोगों के साथ चर्चा की। यह केवल स्थानीय, निजी शाखाओं के लिए रिबास का उपयोग करने के लिए एक स्वीकृत पैटर्न प्रतीत होता है, लेकिन कभी भी इसका उपयोग न करें जब एक ही फीचर और शाखा पर कई लोग काम कर रहे हों, जैसा कि इस तथाकथित "गोल्डन रूल ऑफ रीबासिंग" के अनुसार (जैसे यहां समझाया गया: https : //www.atlassian.com/git/tutorials/merging-vs-rebasing/conceptual-overview )
मुझे आश्चर्य है कि इस पर आम सहमति है। मैंने पूरी रिबासिंग रणनीति के साथ 3 साल काम किया, लगभग 20 डेवलपर्स ने एक साथ काम किया और अनुमान लगाया कि यह क्या काम करता है।
प्रक्रिया मूल रूप से है:
- आप अपनी सुविधा शाखा बनाते हैं, इसे "myfeature" कहते हैं, और इसे मूल / myfeature पर धकेलते हैं
- अन्य लोग इसे देख सकते हैं और इस पर काम कर सकते हैं
- आप कभी-कभी इसे मास्टर से रिबेट कर सकते हैं: "मायफेट्योर" से, गिट रिबेस मूल / मास्टर से ; और फिर, हां, आपको इसे जोर-जबरदस्ती करना होगा।
- क्या होता है जब अन्य लोग अपने कामों को आगे बढ़ाना चाहते हैं? वे बस इसे फिर से शुरू करते हैं: गिट रिबेस मूल / myfeature । इसलिए वे अब तेजी से आगे बढ़ रहे हैं और बिना जोर लगाए इसे आगे बढ़ा सकते हैं।
सम्मान करने का एकमात्र सिद्धांत यह है कि सुविधा शाखा किसी के स्वामित्व में है । मालिक एकमात्र ऐसा है जो धक्का-मुक्की कर सकता है।
इसलिए, मैं मानता हूं: जैसे ही कोई जोर-जबरदस्ती होती है, त्रुटियों को करने का जोखिम होता है। यह सच है। लेकिन त्रुटियों से उबरने के कई तरीके भी हैं, और वास्तव में, 3 साल के विकास में, मैंने बहुत अधिक बल-धक्का करने वाली गलतियों को नहीं देखा, और जब ऐसा हुआ तो हमने हमेशा ठीक से ठीक होने का एक तरीका ढूंढ लिया।
तो, इस "गोल्डन रूल ऑफ रिबेस" को इतने व्यापक रूप से क्यों स्वीकार किया जा रहा है? क्या कुछ और है जो मुझे याद है? मैं समझता हूं कि इसके लिए न्यूनतम संगठन की आवश्यकता है (प्रत्येक रणनीति के लिए कुछ संगठन की आवश्यकता होती है), लेकिन यह काम करता है।