অস্বীকৃতি: আমি গিটচেনলগের লেখক যার মধ্যে আমি নীচে কথা বলব।
টিএল; ডিআর: আপনি গিচচেনলগের নিজস্ব চেঞ্জলগ বা পূর্ববর্তীটি তৈরি করেছে এমন এসকিআই আউটপুট পরীক্ষা করতে পারেন ।
আপনি যদি আপনার গিটের ইতিহাস থেকে একটি পরিবর্তন আনতে চান তবে আপনাকে সম্ভবত বিবেচনা করতে হবে:
- আউটপুট ফরম্যাট । (খাঁটি কাস্টম এএসসিআইআই, দেবিয়ান চেঞ্জলগ প্রকার, মার্কডো, আরএসটি ...)
- কিছু ফিল্টারিং প্রতিশ্রুতিবদ্ধ (আপনি সম্ভবত আপনার চেঞ্জলগে সমস্ত টাইপ এবং প্রসাধনী পরিবর্তনগুলি দেখতে চান না)
- কিছু চেঞ্জলগে অন্তর্ভুক্ত হওয়ার আগে পাঠ্য র্যাংলিংয়ের প্রতিশ্রুতি দেয়। (প্রথম অক্ষরের বড় হাতের অক্ষর বা চূড়ান্ত বিন্দু হিসাবে বার্তাগুলির সাধারণকরণ নিশ্চিতকরণ, তবে এটি সংক্ষেপে কিছু বিশেষ মার্কআপও সরিয়ে ফেলতে পারে)
- আপনার গিট ইতিহাস সামঞ্জস্যপূর্ণ ? মার্জ করা, ট্যাগিং করা, বেশিরভাগ সরঞ্জামের দ্বারা সহজেই সমর্থিত হয় না। এটি নির্ভর করে আপনি কীভাবে আপনার ইতিহাস পরিচালনা করেন।
Ptionচ্ছিক আপনি কিছু শ্রেণিবদ্ধকরণ (নতুন জিনিস, পরিবর্তন, বাগফিক্স) চাইতে পারেন ...
এই সমস্ত বিষয় মাথায় রেখে, আমি গিটিচেনলগ তৈরি এবং ব্যবহার করেছি । এটি পূর্ববর্তী সমস্ত লক্ষ্য অর্জনের জন্য গিট কমিট বার্তা কনভেনশনকে উত্তোলন করা ।
একটি সুন্দর চেঞ্জলগ তৈরি করা (ব্যবহার করা বা ব্যবহার না করে 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} ... ]
আসল আউটপুট ফলাফলটি দেখতে, আপনি গিচচেনলগের পাইপিআই পৃষ্ঠার শেষ দিকে দেখতে পারেন
আমার প্রতিশ্রুতিবদ্ধ বার্তা কনভেনশনটির একটি সম্পূর্ণ ডকুমেন্টেশন দেখতে আপনি রেফারেন্স ফাইলটি দেখতে পাবেন gitchangelog.rc.references
এ থেকে কীভাবে এক্সক্লুসিভ চেঞ্জলগ তৈরি করা যায়
তারপরে, সম্পূর্ণ চেঞ্জলগ তৈরি করা বেশ সহজ। আপনি নিজের স্ক্রিপ্টটি খুব দ্রুত তৈরি করতে পারেন, বা ব্যবহার করতে পারেন gitchangelog
।
gitchangelog
একটি সম্পূর্ণ চেঞ্জলগ উত্পন্ন করবে (হিসাবে বিভাগীয় সমর্থন সহ New
, Fix
...), এবং আপনার নিজস্ব প্রতিশ্রুতিবদ্ধ কনভেনশনগুলির পক্ষে যুক্তিসঙ্গতভাবে কনফিগারযোগ্য। এটা মাধ্যমে টেমপ্লেট আউটপুট ধন্যবাদ কোন প্রকার সমর্থন Mustache
, Mako templating
এবং একটি ডিফল্ট উত্তরাধিকার ইঞ্জিন কাঁচা পাইথন লেখা আছে; সমস্ত বর্তমান 3 ইঞ্জিনে কীভাবে সেগুলি ব্যবহার করতে হয় তার উদাহরণ রয়েছে এবং গিটচেনলগের পাইপিআই পৃষ্ঠায় প্রদর্শিত পরিবর্তন হিসাবে এর আউটপুট নিতে পারে।
আমি নিশ্চিত আপনি জানেন অন্য প্রচুর আছে git log
করতে changelog
সেখানে আউট সরঞ্জাম।
--graph
, যা আপনাকে দৃশ্যমানভাবে দেখায় যে কমিটগুলি কী শাখাগুলি চলছে।