सुविधा शाखाओं का उपयोग करके एक टीम में गिट के साथ काम करते समय, मुझे अक्सर इतिहास में शाखा संरचना को समझना मुश्किल होता है।
उदाहरण:
मान लीजिए कि सुविधा शाखा / मेक-कॉफी की सुविधा थी , और फीचर शाखा के समानांतर मास्टर पर बगफिक्सिंग जारी थी ।
इतिहास इस तरह दिख सकता है:
* merge feature/make-coffee
|\
| * small bugfix
| |
* | fix bug #1234
| |
| * add milk and sugar
| |
* | improve comments
| |
* | fix bug #9434
| |
| * make coffe (without milk or sugar)
| |
* | improve comments
|/
*
मुसीबत
पहली नज़र में, मुझे यह बताना मुश्किल है कि फ़ीचर ब्रांच किस तरफ है। मुझे आमतौर पर यह जानने के लिए दोनों पक्षों पर कई टिप्पणियों को ब्राउज़ करने की आवश्यकता है कि कौन सा है। यह अधिक जटिल हो जाता है यदि समानांतर में कई फीचर शाखाएं होती हैं (विशेषकर यदि वे निकट संबंधी सुविधाओं के लिए हैं), या यदि सुविधा शाखा और मास्टर दोनों के बीच निर्देशन में विलय हो रहा था।
इसके विपरीत, तोड़फोड़ में, यह काफी आसान है क्योंकि शाखा का नाम इतिहास का हिस्सा है - इसलिए मैं तुरंत बता सकता हूं कि मूल रूप से "सुविधा / मेक-कॉफ़ी" पर एक प्रतिबद्धता बनाई गई थी।
Git कमिट मेटाडेटा में वर्तमान शाखा का नाम शामिल करते समय (लेखक, तिथि आदि के साथ) बनाते हुए इसे आसान बना सकता है । हालाँकि, git ऐसा नहीं करता है।
क्या ऐसा न करने का कोई मौलिक कारण है? या यह सिर्फ इतना है कि कोई भी सुविधा नहीं चाहता था? यदि यह बाद की बात है, तो क्या बिना नाम देखे ऐतिहासिक शाखाओं के उद्देश्य को समझने के अन्य तरीके हैं?