अस्वीकरण: मैं gitchangelog का लेखक हूं , जिसके बारे में मैं निम्नलिखित में बोलूंगा ।
टी एल; डॉ: आप जांच करना चाह सकते gitchangelog के स्वयं के बदलाव का या ascii उत्पादन है कि पिछले उत्पन्न।
यदि आप अपने गिट इतिहास से एक चैंज बनाना चाहते हैं, तो आपको शायद इस पर विचार करना होगा:
- उत्पादन प्रारूप । (शुद्ध रिवाज ASCII, डेबियन चैंज प्रकार, मार्काडो, ReST ...)
- कुछ प्रतिबद्ध फ़िल्टरिंग (आप शायद अपने टंकशाला में होने वाले सभी टाइपो या कॉस्मेटिक परिवर्तनों को नहीं देखना चाहते हैं)
- चैंज में शामिल किए जाने से पहले कुछ कमिटिंग टेक्स्ट में तकरार । (पहले अक्षर अपरकेस या अंतिम डॉट के रूप में संदेशों का सामान्यीकरण सुनिश्चित करना, लेकिन यह सारांश में कुछ विशेष मार्कअप को भी हटा सकता है)
- क्या आपका इतिहास इतिहास संगत है ? मर्जिंग, टैगिंग, हमेशा इतनी आसानी से नहीं होती है कि अधिकांश टूल द्वारा समर्थित हो। यह इस बात पर निर्भर करता है कि आप अपने इतिहास का प्रबंधन कैसे करते हैं।
वैकल्पिक रूप से आप कुछ वर्गीकरण (नई चीजें, परिवर्तन, बगफिक्स) चाहते हैं ...
इस सब को ध्यान में रखते हुए, मैंने gitchangelog का निर्माण और उपयोग किया । यह एक जीआईटी प्रतिबद्ध संदेश सम्मेलन का लाभ उठाने के लिए है पिछले लक्ष्यों के सभी को प्राप्त करने के लिए के लिए है।
एक अच्छा संदेश समूह बनाने के लिए एक प्रतिबद्ध संदेश सम्मेलन होना अनिवार्य है (उपयोग के साथ या बिना gitchangelog
)।
संदेश सम्मेलन करें
निम्नलिखित ऐसे सुझाव हैं जो आपके प्रतिबद्ध संदेशों में जोड़ने के बारे में सोचने के लिए उपयोगी हो सकते हैं।
आप अपनी कमियों को बड़े वर्गों में अलग करना चाहते हैं:
- इरादे से (उदाहरण के लिए: नया, फिक्स, परिवर्तन ...)
- ऑब्जेक्ट द्वारा (उदाहरण के लिए: डॉक्टर, पैकेजिंग, कोड ...)
- दर्शकों द्वारा (उदाहरण के लिए: देव, परीक्षक, उपयोगकर्ता ...)
इसके अतिरिक्त, आप कुछ कमिट्स टैग करना चाहते हैं:
- "मामूली" के रूप में यह माना जाता है कि आपके चेंजलॉग (कॉस्मेटिक परिवर्तन, टिप्पणियों में छोटे टाइपो) के लिए आउटपुट नहीं मिलना चाहिए ...)
- "रिफ्लेक्टर" के रूप में यदि आपके पास वास्तव में कोई महत्वपूर्ण विशेषता परिवर्तन नहीं है। इस प्रकार यह भी उदाहरण के लिए अंतिम उपयोगकर्ता को प्रदर्शित किए गए चैंज का हिस्सा नहीं होना चाहिए, लेकिन यदि आपके पास डेवलपर डेवलपर है तो कुछ दिलचस्पी हो सकती है।
- आप एपीआई परिवर्तन या नए एपीआई सामान को चिह्नित करने के लिए "एपीआई" के साथ टैग भी कर सकते हैं ...
- ...आदि...
उपयोगकर्ताओं (कार्यक्षमता) को जितनी बार आप कर सकते हैं, लक्ष्य करके अपना प्रतिबद्ध संदेश लिखने का प्रयास करें।
उदाहरण
यह git log --oneline
दिखाने के लिए मानक है कि ये जानकारी कैसे संग्रहीत की जा सकती है ::
* 5a39f73 fix: encoding issues with non-ascii chars.
* a60d77a new: pkg: added ``.travis.yml`` for automated tests.
* 57129ba new: much greater performance on big repository by issuing only one shell command for all the commits. (fixes #7)
* 6b4b267 chg: dev: refactored out the formatting characters from GIT.
* 197b069 new: dev: reverse ``natural`` order to get reverse chronological order by default. !refactor
* 6b891bc new: add utf-8 encoding declaration !minor
इसलिए यदि आपने देखा है, तो मैंने जो प्रारूप चुना है वह है:
{new|chg|fix}: [{dev|pkg}:] COMMIT_MESSAGE [!{minor|refactor} ... ]
एक वास्तविक उत्पादन परिणाम देखने के लिए, आप में से PyPI पृष्ठ के अंत में दिखाई दे सकता है gitchangelog
मेरे प्रतिबद्ध संदेश सम्मेलन का पूरा प्रलेखन देखने के लिए आप संदर्भ फ़ाइल gitchangelog.rc.reference देख सकते हैं
इससे उत्तम चैंज कैसे उत्पन्न किया जाए
फिर, एक पूर्ण चैंज बनाने में काफी आसान है। आप अपनी स्क्रिप्ट को बहुत तेज़ी से बना सकते हैं, या उपयोग कर सकते हैंgitchangelog
।
gitchangelog
एक पूर्ण चेंजगॉग उत्पन्न करेगा (सेक्शनिंग सपोर्ट के रूप में New
, Fix
...), और अपने स्वयं के प्रतिबद्ध सम्मेलनों के लिए उचित रूप से विन्यास योग्य है। यह के माध्यम से templating के लिए उत्पादन धन्यवाद किसी भी प्रकार का समर्थन करता है Mustache
, Mako templating
तथा एक डिफ़ॉल्ट विरासत इंजन कच्चे अजगर में लिखा है; सभी मौजूदा 3 इंजनों के उदाहरण हैं कि उनका उपयोग कैसे किया जाए और चैंजोगोग को आउटपुट कर सकते हैं जैसे कि gitchangelog के PyPI पृष्ठ पर प्रदर्शित किया गया है।
मुझे यकीन है कि कर रहा हूँ तुम्हें पता है वहाँ अन्य के बहुत सारे हैं कि git log
करने के लिए changelog
भी वहाँ उपकरण।
--graph
, जो नेत्रहीन आपको दिखाता है कि कौन सी शाखाएं कमिट पर हैं।