जवाबों:
मैं उपयोग करता हूं
[Abc]: Message.
Add, Mod (ify), Ref (अभिनय), Fix, Rem (ove) और Rea (dability) के साथ फिर लॉगफाइल को निकालना आसान है।
उदाहरण :
Add: New function to rule the world.
Mod: Add women factor in Domination.ruleTheWorld().
Ref: Extract empathy stuff to an abstract class.
Fix: RUL-42 or #42 Starvation need to be initialised before Energy to avoid the nullpointer in People.
Rem: freeSpeech is not used anymore.
Rea: Removed old TODO and extra space in header.
अगर मेरे पास एक पंक्ति से अधिक है, तो मैं उन्हें सबसे महत्वपूर्ण के साथ सॉर्ट करता हूं।
Mod
और के बीच कुछ अंतर बता सकते हैं Ref
? कभी-कभी मैं सिर्फ छोटे-छोटे सुधार कर रहा हूं, जो किसी तरह का रिफलेक्शन है।
Mod
कुछ जोड़ने या व्यवहार Ref
को बदलने के बारे में है , आंतरिक सामान को बदलने के बारे में है जो किसी भी प्रकार की विशिष्टता को नहीं जोड़ता है, एपीआई जोड़ें, आदि उदाहरण: यदि मेरे पास कोई add(Object)
फ़ंक्शन है और मैं एक add(List<Object>)
फ़ंक्शन लागू करता हूं, तो मैं इसके साथ टिप्पणी करूंगा Mod
। बाद में मैंने दोहराव को हटा दें और सीधे का उपयोग add(Object)
में add(List<Object>)
तो मैं का उपयोग करेगा Ref
।
हम निम्नलिखित का उपयोग करते हैं:
[टिकट की JIRA में आईडी]: [संदेश: क्या किया गया था] उदाहरण के लिए - एबीसी -123: प्रति क्षेत्र प्रस्तुति को कॉन्फ़िगर करने की क्षमता जोड़ा गया।
इस मामले में उचित एकीकरण के साथ आप अपने समस्या ट्रैकर में परिवर्तित / नष्ट / जोड़ी गई फ़ाइलों को प्राप्त करने में सक्षम होंगे। हालाँकि, इस बात से अवगत रहें कि आपको एबीसी -123: डन या एबीसी -123: कुछ को रोकना चाहिए, यदि संभव हो तो फिल्टर के साथ फिक्स्ड ।
एक सरल नियम है, जो एक सम्मेलन है, जिसके बाद कई (यदि सभी नहीं) एससीएम और अधिकांश उपकरण जो एमएम के साथ काम करते हैं:
एक प्रतिबद्ध संदेश की पहली पंक्ति एक संक्षिप्त सारांश है, जबकि शेष संदेश में विवरण होता है।
इसलिए, अधिकांश उपकरण केवल पहली पंक्ति प्रदर्शित करते हैं, और मांग पर पूरे संदेश को प्रदर्शित करते हैं।
एक प्रतिबद्ध संदेश का एक विशिष्ट दुरुपयोग परिवर्तनों की एक बुलेट सूची है (केवल पहली गोली दिखाई जाएगी)। एक अन्य दुरुपयोग एक पंक्ति पर एक विस्तृत विस्तृत संदेश लिख रहा है।
इसलिए, अगर लागू करने के लिए एक चीज है, तो मैं कहूंगा कि यह पहली पंक्ति की अधिकतम लंबाई है।
व्यक्तिगत रूप से मैंने कभी भी सामान्य प्रतिबद्ध टेम्पलेट का उपयोग करने लायक नहीं देखा है। टिप्पणी को स्पष्ट रूप से कहना चाहिए कि कमिट क्या संबंधित हैं जैसे कि फीचर / बग फिक्स या परिवर्तन क्यों किए गए थे का एक संक्षिप्त विवरण।
क्या किया गया था इस पर जानकारी को शामिल नहीं किया जाना चाहिए, यह scm प्रणाली द्वारा निर्धारित किया जा सकता है। अधिक बग / सुविधा की जानकारी कभी भी बग और सुविधाओं को ट्रैक करने में होती है।
जब एक बग रिपोर्ट को कमिट के बाद अपडेट किया जाता है, तो मुझे लगता है कि बग रिपोर्ट में टिप्पणियों के साथ-साथ कमिट रिवीजन करना भी अच्छा है। इस तरह से आप कमेंट से लेकर बग रिपोर्ट तक, और बग रिपोर्ट की प्रत्येक टिप्पणी के लिए पा सकते हैं कि आप क्या कर रहे हैं
फिर जब किसी फ़ाइल के लिए संशोधन का इतिहास देखते हैं, तो आपके पास इतिहास का वर्णन करने वाले अच्छे संक्षिप्त संदेश होते हैं, लेकिन यह भी पता होता है कि अधिक विवरणों के लिए बग रिपोर्ट या कार्य विवरण कहाँ देखें।
Git में Git हुक के साथ लगभग कुछ भी लागू करना संभव है । विचारों के लिए .it / हुक में उदाहरण देखें।
संदेश के रूप में, एक बहुत ही सामान्य मामले में, आप उस समस्या के बारे में पर्याप्त जानकारी शामिल करना चाहते हैं जो आप हल कर रहे थे और समाधान स्वयं इस प्रतिबद्ध को खोजने और पहचानने में सक्षम होने के लिए। ज्यादातर मामलों में समस्या को बग नंबर (आपके बग ट्रैकिंग सिस्टम के साथ उचित एकीकरण के साथ) संदर्भित किया जाएगा। यदि आपके पास अन्य प्रणालियाँ हैं, तो आपकी प्रक्रिया (कोड समीक्षा ट्रैकिंग सिस्टम की तरह) एकीकृत हो जाती है, तो उपयुक्त बिट्स को भी शामिल करें:
Extracted checking foobar range from bar() into foo(min, max) to re-use
in yadda() and blah(). foo() returns true if foobar is in the
specified range and false otherwise.
BugID: 123456
ReviewedBy: mabuddy
AutomergeTo: none
लेकिन आप इसे सरल रखना चाहते हैं। अन्यथा, लोग सिस्टम को धोखा देने और बेकार प्रतिबद्ध संदेशों का उत्पादन करने का एक तरीका खोज लेंगे।
हम युक्त टेम्पलेट का उपयोग करते हैं
पहले दो को ज्यादातर समय (कभी-कभी तीनों) छोड़ दिया जाता है, इसलिए यह वास्तव में बहुत बड़ी बात नहीं है।
मेरे पास आम तौर पर पहचानकर्ता होता है जो कि टिकट ट्रैकिंग सिस्टम मैं उपयोग करता है या पहली पंक्ति के रूप में उच्च स्तर का अवलोकन करता है। फिर मेरे पास कमिटमेंट में विशिष्ट परिवर्तन के बिंदु "बुलेट" अंक हैं। इसलिए मैं कुछ ऐसा कर सकता था:
MyVideoGameProject-123 OR Inventory System Improvements
Made inventory GUI drap and drap
Added ability to have multiple bag slots to expand inventory capacity
यह मुझे पसंद है सबसे साफ-सुथरा कमिटमेंट है। यह प्रत्यक्ष और बात है। एक और कारण मैं इसे इस तरह से करता हूं कि अगर मैं एक परिवर्तन लॉग बनाना चाहता हूं, तो मैं बस सभी प्रतिबद्ध संदेश ले सकता हूं और इसे आसानी से परिवर्तन लॉग में पार्स कर सकता हूं।
[टिकट आईडी] [एबीसी] [विषय] [डब्ल्यूआईपी] संदेश, जहां:
उदाहरण:
[# 452567] [add] [menu_item] नई आइटम - अतिथि पुस्तिका
[# 452363] [तय] [banner_top] [WIP] 1024x300 का उपयोग अब किया जा सकता है
[# 452363] [fix [banner_top] 500x200 अब उपयोग किया जा सकता है
[ # 452713] [रेम] [पेज] बाएं मध्य विज्ञापन