रिफैक्टिंग GitFlow शाखा के नामकरण मॉडल में कहां है?


23

मैंने हाल ही में बिटकॉइन द्वारा कार्यान्वित के रूप में GitFlow मॉडल के साथ काम करना शुरू किया। और एक चीज है जो मेरे लिए पूरी तरह से स्पष्ट नहीं है।

हम नियमित रूप से अपने तकनीकी ऋण को बैकलॉगिंग, नियोजन, और रीफैक्टरिंग कार्यों को लागू करने के लिए संबोधित करते हैं। इस तरह की रीफैक्टरिंग शाखाएं पुल-रिक्वेस्ट के साथ समाप्त हो जाती हैं जो कि मर्ज हो जाती हैं develop। मेरा सवाल यह है कि GitFlow में रिफैक्टिंग शाखाएँ कहाँ हैं ?

  • featureउपसर्ग का उपयोग करना सबसे तर्कसंगत लगता है, हालांकि यह पूरी तरह से सही नहीं लगता है, क्योंकि रिफैक्टिंग में कोई नई कार्यक्षमता नहीं होती है।
  • हालाँकि bugfixउपसर्ग का उपयोग करना सही नहीं है और साथ ही वास्तविक बग रिफैक्टिंग फ़िक्स भी नहीं है।
  • दूसरी ओर एक कस्टम उपसर्ग का निर्माण करना जटिल लगता है अगर चीजों को ओवर-इंजीनियरिंग न करें।

क्या आपके पास भी ऐसी स्थिति थी? इसे संबोधित करने के लिए आप किस अभ्यास का उपयोग करते हैं? कृपया समझाएं।


आपको रिफ्लेक्टर के लिए एक शाखा की आवश्यकता क्यों है? वे परिभाषा द्वारा उत्पाद की कार्यक्षमता में परिवर्तन नहीं करते हैं, इसलिए आपको उन्हें सीधे विकास में सक्षम होना चाहिए।
जोंशरपे

@jonrsharpe संक्षेप में, यह अधिक सुविधाजनक और नियंत्रणीय है। आमतौर पर रीफैक्टरिंग के लिए एक जीरा टिकट है और इसे पुल अनुरोध के दौरान कोड-समीक्षा भी किया जाता है। इसके साथ ही इसके विलय से पहले बिल्ड और परीक्षण चलाए जाते हैं। हम शाखा को हरा-भरा रखने की कोशिश करते हैं।
AMA

4
आप ओवर-इंजीनियरिंग चीजें हैं - इस मामले में, प्रक्रिया। आप के रूप में प्रणाली पर काम के रूप में रिफ्लेक्टर, असतत काम पैकेज के रूप में नहीं।
श्री कोचिज

2
उस मामले में: 1. आपके पास मेरी सहानुभूति है; और 2. मैं कहता हूं कि उपयोग करेंगे refactor, तो यह स्पष्ट है कि प्रत्येक मर्ज को किस उत्पाद में बदलने की उम्मीद है (बगिफ़िक्स: टूटे हुए व्यवहार को ठीक करें, सुविधा: नया व्यवहार जोड़ें, प्रतिक्षेपक: पिछले व्यवहार को बनाए रखें)। लेकिन @MrCochese सही है, यह वास्तव में दूसरे काम का एक हिस्सा होना चाहिए जो आप एक अलग कार्य नहीं कर रहे हैं। ध्यान दें कि यदि आपके रिफ्लेक्टर बिल्ड को तोड़ते हैं
जोंशरशेप

आपके द्वारा किए जा रहे कुछ रीफैक्टरिंग कार्य वास्तव में मुख्य कार्य का हिस्सा होना चाहिए। मैं निश्चित रूप से रिफ्लेक्टर शाखाओं को नियमित रूप से नहीं बनाऊंगा , लेकिन केवल एक बड़े सफाई प्रयास के हिस्से के रूप में। इसे एक आदत बनाने से अन्य बुरी आदतों को बढ़ावा मिलेगा, जैसे सफाई कार्य को "रिफ्लेक्टर" शाखा को सौंपना।
रॉबर्ट हार्वे

जवाबों:


27

रिफैक्टरिंग का काम एक सुविधा शाखा में जाना चाहिए।

उपसर्ग "सुविधा" एक असतत प्रोग्रामिंग कार्य का वर्णन करने के लिए केवल एक शब्द है, आप अपनी पसंद का कोई भी शब्द चुन सकते हैं, विकास से कोई भी शाखा या तो एक "सुविधा" शाखा या "रिलीज़" शाखा है

एक नया उपसर्ग जोड़ना जैसे "रीफैक्टरिंग" समस्याग्रस्त है। जैसा कि आप अक्सर एक सुविधा को जोड़ते समय कुछ रीफैक्टरिंग करेंगे, आप बस अपने आप को एक नामकरण समस्या दे रहे हैं और भ्रम को जोड़ रहे हैं। अर्थात। "हमारी कुछ फीचर शाखाओं को 'रिफैक्टरिंग' कहा जाता है, नहीं, उनमें सभी रीफैक्टरिंग कार्य नहीं होते हैं और कभी-कभी उनमें बग फिक्स या फीचर होते हैं '

इसी प्रकार "हॉटफ़िक्स" शाखाओं को हॉटफ़िक्स इसलिए नहीं कहा जाता है क्योंकि उनमें हॉटफ़िक्स शामिल हैं, बल्कि इसलिए कि वे विकसित होने के बजाय मास्टर से शाखा करते हैं


1
धन्यवाद। यह उचित लगता है। मैं थोड़ा और इंतजार करूंगा, और अगर कोई अन्य जवाब नहीं है, तो मैं आपका स्वीकार करूंगा।
AMA
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.