एक एकल डेवलपर के रूप में लेखन संदेश?


30

मेरी परियोजनाओं पर जहां मेरे और अन्य प्रोग्रामर के बीच रिपॉजिटरी साझा की जाती है, मैं हमेशा संदेश लिखता हूं भले ही मैं प्राथमिक डेवलपर हूं।

लेकिन उन परियोजनाओं पर जहां मैं एक प्रोजेक्ट पर काम करने वाला एकल डेवलपर हूं, और रिपॉजिटरी को मेरे निजी लैपटॉप पर होस्ट किया जाता है, और क्लाइंट द्वारा होस्ट भी नहीं किया जाता है, इसलिए खुद को छोड़कर कोई भी कमिट्स नहीं देखेगा, क्या मुझे अभी भी प्रतिबद्ध लिखना चाहिए संदेशों?

अब तक मैं उन्हें लिखता रहा हूं, लेकिन मैंने पाया है कि मैं कभी पीछे नहीं हटा और अपने प्रतिबद्ध संदेशों को देखा। मैं संदेशों को लिखने के लिए विकास से समय निकालता हूं, लेकिन फिर वे मेरे द्वारा फिर कभी नहीं देखे जाते हैं।

क्या एक एकल डेवलपर के रूप में प्रतिबद्ध संदेश लिखने के लिए कोई अच्छा कारण हैं, या क्या आपको विकास पर ध्यान केंद्रित रहने के पक्ष में उन्हें छोड़ देना चाहिए?


14
"मैं कभी वापस नहीं गया और अपने प्रतिबद्ध संदेशों को देखा" अच्छी तरह से पहली बार आपको वापस जाना होगा, शायद आपको वह अच्छा कारण प्रदान करेगा। वास्तव में, आपके जूते में चलना, मैं शायद तब तक चुप रहूंगा जब तक कि पहली बार वापस नहीं आता
gnat

5
"मैं हमेशा प्रतिबद्ध संदेश लिखता हूं भले ही मैं प्राथमिक डेवलपर हूं।" आपको लगता है कि असामान्य है? बेशक प्राथमिक डेवलपर को अन्य डेवलपर्स (जो पहले से ही 100% समय चाहिए) की तुलना में, यहां तक ​​कि संदेश भी लिखना चाहिए।
अल्बेअमकीर

7
जब आप अपने सॉफ़्टवेयर के पुराने संस्करणों को बनाए रखना शुरू करते हैं, और न केवल नवीनतम, कमिटेड मैसेज शुद्ध सोने के होते हैं।

जवाबों:


43

अच्छी तरह से यहाँ एक कारण है: यदि आप अचानक महसूस करते हैं कि पिछले कुछ सौ कमिट्स के लिए कुछ टूट गया है (संभव है कि अगर आप हर छोटे से कमिट पर कमिट करते हैं, तो कम संभव है, अगर आप, मेरी तरह, केवल "स्थिर" स्नैपशॉट), तो आप और अधिक आसानी से कर सकते हैं यदि आपने "बगफिक्स" के बजाय स्पष्ट रूप से लिखे गए संदेश लिखे हैं, तो जहां आपने बग डाला है, वहां खोजें। (एक सहकर्मी का पसंदीदा स्ट्रिंग, मेरा मानना ​​है)। ज़रूर, आप svn logजो भी SCM उपयोग कर रहे हैं, उसके साथ जा सकते हैं , लेकिन यह आसान होना चाहिए

संदेशों को यह सोचने के लिए भी बाध्य करता है कि आपने बदलाव के रूप में वास्तव में क्या किया है और, मेरा मानना ​​है कि अपने दिमाग में संक्षेप में बताएं कि परियोजना को बेहतर बनाना जारी रखना सबसे अच्छा कैसे होगा।


13
अंतिम पैराग्राफ के लिए +1। मुझे लगता है कि एक उचित प्रतिबद्ध संदेश लिखने में बहुत अधिक शून्य समय लगता है क्योंकि मुझे हमेशा पता है कि मैंने बदलाव क्यों किया।
स्टीफन डार्लिंगटन

5
मेरे एकल सामान के लिए, मेरे पास कुछ पर काम करने से पहले मेरा प्रतिबद्ध संदेश है। मैं एक छोटी सी बात करता हूं (30-45 मिनट के लिए लक्ष्य ... यहां एक पत्नी और बच्चे मिले!), और इसे प्रतिबद्ध करें। शायद आप इसे संचालित विकास कह सकते हैं?
corsiKa

52

मैं हमेशा कोशिश करता हूं। आप कितनी बार पीछे देखते हैं और सोचते हैं, "जब मैंने यह बदलाव किया तो मैं क्या कर रहा था।" मुझ से हर समय होता है। संदेश लिखने के 30 सेकंड आपको याद करने की कोशिश में काम के लायक 20 मिनट बचा सकते हैं।


12
मासिक रिपोर्ट बनाते समय भी मदद मिलती है। प्रतिबद्ध संदेशों की सूची रिपोर्ट के लिए एक शानदार शुरुआत है
mhoran_psprep

2
हाँ, और यह वास्तव में केवल एक समय लेता है जहाँ आपको टिप्पणी करने में लगने वाले समय के लिए भुगतान करने की आवश्यकता होती है।
t t

20

क्या आप ईमानदारी से मानते हैं कि सादे अंग्रेजी में लगभग 40 से 80 अक्षर टाइप करने का ओवरहेड कमिटमेंट के लिए महत्वपूर्ण ओवरहेड है, या आप आलसी होने का बहाना ढूंढ रहे हैं?

आपको जो समस्याएँ हैं, उन्हें स्पष्ट रूप से बता रहा हूँ कि आपने इसे क्यों बनाया, इस मामले में आपको बदलाव के उद्देश्य की समीक्षा करने की आवश्यकता हो सकती है, यहाँ तक कि अपने आप से यह पूछने की ज़रूरत है कि क्या आपको वास्तव में ऐसा करने की आवश्यकता है।

मेरी सलाह यह नहीं है कि आप एकल उड़ान भर रहे हैं क्योंकि आप नियमों को तोड़ सकते हैं। हर समय पेशेवर रहें, और सार्थक प्रतिबद्ध संदेश जोड़ें। जैसा कि अन्य रिपोटर्स ने बताया है, एक दिन आप इसके आभारी होंगे।


14
  • आप हमेशा एकल डेवलपर नहीं रहेंगे।

  • आप अंततः अपने कोडबेस को तोड़ देंगे और इसे पुनर्स्थापित करने का प्रयास करेंगे। अच्छे प्रतिबद्ध संदेश आपको घंटों बचाएंगे।

  • आपको याद नहीं आ रहा है कि आप तीन हफ्ते पहले क्या काम कर रहे थे, है ना?

  • प्रतिबद्ध संदेश बहुत स्पष्ट होने चाहिए। यदि वे नहीं हैं, तो आपने किसी कार्य को पूरा नहीं किया है, या एक कार्य दो या अधिक कार्यों में फैला है।


7

निश्चित रूप से, या फिर आप उपयोग करने के लिए बहुत कठिन ब्रांचिंग और मर्जिंग जैसी सुविधाएँ बनाते हैं। और तुम होगा , उन्हें उपयोग करने के लिए भी एकल डेवलपर अगर चाहते हैं।


6

इसका एक संभावित कारण: यह आपके द्वारा अभी किए गए परिवर्तन के बारे में और संरचना परिवर्तन के बारे में अधिक सारगर्भित सोचने के लिए मजबूर करता है।

यदि यह व्यर्थ लगता है, तो शायद बड़े बदलावों पर टिप्पणी करें, या जो मौजूदा कार्यक्षमता को बदलते हैं, यदि आप कभी भी एक अजीब व्यवहार के स्रोत की तलाश कर रहे हैं।


इस उत्तर को फिर से देखना दिलचस्प है। मैंने हाल ही में कुछ हद तक चरम स्थिति ले ली है: कोई भी प्रतिबद्ध संदेश नहीं। लेकिन यह एक सुंदर फ्लैट HTML / JS प्रोजेक्ट पर है जहाँ मैं कभी किसी प्रतिगमन को ट्रैक करने के प्रयास की कल्पना नहीं कर सकता। कोई भी प्रयास कमिट मैसेज लिखने में बिताए गए लगभग निश्चित रूप से कहीं और बेहतर होगा। (सभी परियोजनाएं इस श्रेणी में नहीं हैं!)
स्टीव बेनेट

4

मैं TXR परियोजना पर एकमात्र कमिट्रेटर रहा हूं, और इस परियोजना में काफी पहले से एक विस्तृत चेंजलॉग रखा है। यह 11,000 लाइनों के करीब लंबी और बढ़ती है: http://www.kylheku.com/cgit/txr/tree/ChangeLog

(रेपो में प्रतिबद्ध संदेश केवल चेंजलॉग में जाने वाली एक प्रति है।)

[२०१६ संपादित करें: २०१५ के मध्य तक, मैं अब ChangeLog फ़ाइल को बनाए नहीं रख सकता; हालाँकि, प्रतिबद्ध संदेश एक प्रारूप में लिखे जाते हैं जो उसी समय Git और ChangeLog सम्मेलनों के अनुरूप होते हैं। विस्तार का एक ही स्तर है, एक तरह से जो मर्ज की समस्या पैदा नहीं करता है। चेंजलॉग फ़ाइल को इन टिप्पणियों से यंत्रवत् पुन: निर्मित किया जा सकता है।]

हां, एक से अधिक बार मैं एक पुराने प्रतिबद्ध संदेश में एक बदलाव से जुड़ा हुआ हूं, जो कुछ टूट गया (जिसकी मदद से खुला git bisect)। संदेश ने मुझे यह समझने में मदद की कि मैं क्या कर रहा था।

चेंजलॉग में आप बता सकते हैं कि फंक्शन, टाइप, मैक्रो या ग्लोबल वैरिएबल को पहली बार कब पेश किया गया था और बाद में इसे बदलावों द्वारा छुआ गया था।

लेकिन अपने द्वारा काम करते समय इन जैसे विस्तृत प्रतिबद्ध संदेश लिखने का मुख्य कारण यह है: ऐसा करते समय आपको कीड़े मिलते हैं

एक विस्तृत प्रतिबद्ध संदेश लिखने के लिए किसी और द्वारा आपकी प्रतिबद्ध की कोड समीक्षा के समान लाभ हैं। एक प्रतिबद्ध समीक्षा में मूल्य इतना नहीं है कि कोई आपके कोड की जांच कर रहा है, बल्कि यह कि आपको दूसरे डेवलपर को अपने परिवर्तनों को समझाना होगा।

जब आप चीजों को समझाने की कोशिश करते हैं, तो आप कभी-कभी पाते हैं कि उनका कोई मतलब नहीं है।

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

मैंने कभी-कभी परिवर्तन किए हैं, जब चेंजलॉग प्रविष्टि लिखने के बीच में मैंने महसूस किया कि यह एक git reset --hard(इन बेकार परिवर्तनों को दूर फेंकने के बजाय) होने जा रहा था git commit -a


3

हालांकि आप अभी तक अपने प्रतिबद्ध संदेशों को देखने की आवश्यकता में नहीं आए हैं, आप भविष्य में उनके लिए बहुत आभारी हो सकते हैं। आपको उन्हें अपने लिए भी लिखते रहना चाहिए। कई कारण हैं जो बाद में उपयोगी हो सकते हैं (आप भूल गए कि आप एक विशेषता क्यों जोड़ रहे थे, लापता फ़ाइलों का पता लगाएं, आदि।)

यहाँ प्रतिबद्ध संदेशों के उद्देश्य से संबंधित प्रश्न है: मुझे एक प्रतिबद्ध संदेश क्यों लिखना चाहिए


3

मैं हमेशा परिवर्तनों के बारे में एक सार्थक संदेश के साथ प्रतिबद्ध हूं, और मैं वृद्धिशील परिवर्तनों के साथ अक्सर ऐसा करता हूं।

क्या यह हमेशा सबसे उपयोगी चीज है? नहीं, ऐसा करने में कोई समस्या नहीं है। यदि आपको प्रगति के पिछले चरण में वापस जाने की आवश्यकता है तो आपके संदेश आपको बताएंगे कि आप कहां हैं और आपने क्या किया है। इसका उपयोग किसी प्रोजेक्ट पर प्रगति का ट्रैक रखने के लिए भी किया जा सकता है। यह समय की कुछ बर्बादी के रूप में देखा जा रहा है, 30 सेकंड के लिए यह वास्तव में एक परिणाम है कि नीचे संक्षेप में लिखता है?


3

मैं प्रतिबद्ध संदेशों के बारे में कोई अंतर नहीं देखता कि आप किसी टीम में काम कर रहे हैं या नहीं। आपको याद है कि आपने यहां या केवल एक सीमित समय के लिए क्या किया था, और उसके बाद यह वैसा ही है जैसा कि किसी और ने लिखा था। इसलिए आपको दूसरे लोगों के लिए भी उतने ही अच्छे संदेश लिखने चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.