আপনি --statবিকল্পটি চান git diffবা আপনি যদি এটি কোনও স্ক্রিপ্টে পার্স করতে চান তবে --numstatবিকল্পটি।
git diff --stat <commit-ish> <commit-ish>
--statআপনি মার্জ হওয়ার পরে দেখতে অভ্যস্ত মানব-পঠনযোগ্য আউটপুট উত্পাদন করে; --numstatস্ক্রিপ্টগুলি সহজেই ব্যাখ্যা করতে পারে এমন একটি দুর্দান্ত টেবিল বিন্যাস উত্পাদন করে।
আমি একরকম মিস করেছি যে আপনি একই সময়ে একাধিক কমিটিতে এটি করতে চেয়েছিলেন - এটি একটি কাজ git log। রন ডিভেরা এতে স্পর্শ করেছেন তবে তিনি যা উল্লেখ করেছেন তার চেয়ে আপনি আসলে আরও অনেক কিছু করতে পারেন। যেহেতু git logঅভ্যন্তরীণভাবে অনুরোধকৃত তথ্য মুদ্রণের জন্য ডিফ যন্ত্রগুলিকে কল করে, আপনি এটিকে পৃথক স্ট্যাটাসের যে কোনও বিকল্প দিতে পারেন - কেবল তা নয় --shortstat। আপনি সম্ভবত যা ব্যবহার করতে চান তা হ'ল:
git log --author="Your name" --stat <commit1>..<commit2>
তবে আপনি --numstatবা ব্যবহার করতে পারেন --shortstat। git logঅন্যান্য বিভিন্ন উপায়েও কমিটগুলি নির্বাচন করতে পারে - ডকুমেন্টেশনটি দেখুন । আপনি --since( যেমন প্রতিশ্রুতি সীমা নির্দিষ্টকরণের চেয়ে কেবল গত সপ্তাহ থেকে কমিটগুলি নির্বাচন করুন) এবং --no-merges(মার্ট কমিটগুলি আসলে পরিবর্তনগুলি প্রবর্তন করে না), পাশাপাশি সুন্দর আউটপুট বিকল্পগুলির ( --pretty=oneline, short, medium, full...) মতো জিনিসে আপনার আগ্রহী হতে পারে ।
গিট লগ থেকে প্রতি-প্রতিশ্রুতি পরিবর্তনের পরিবর্তে মোট পরিবর্তনগুলি পেতে এখানে এক-লাইনার (কমিট নির্বাচন বিকল্পগুলি পছন্দসই পরিবর্তন করুন - এটি আপনার দ্বারা কমিট 1, কমিট 2 এ কমিট করুন):
git log --numstat --pretty="%H" --author="Your Name" commit1..commit2 | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'
(আপনাকে গিট লগকে এই প্রতিশ্রুতি সম্পর্কিত কিছু সনাক্তকারী তথ্য প্রিন্ট করতে হবে; আমি নির্বিচারে হ্যাশটি বেছে নিয়েছিলাম, তারপর কেবল তিনটি ক্ষেত্রের সাথে লাইনগুলি বেছে নেওয়ার জন্য জাজি ব্যবহার করা হয়েছিল, যা স্ট্যাটাসের তথ্য সহ)