একজন ব্যবহারকারী যে সমস্ত ফাইল সংশোধন করেছেন সেগুলি আমাকে বলার জন্য কি আমি গিট পেতে পারি?


147

আমি গিটকে সমস্ত কমিট জুড়ে একজন ব্যবহারকারীর দ্বারা সংশোধিত সমস্ত ফাইলের একটি তালিকা দিতে চাই।

আমার বিশেষ ব্যবহারের বিষয়টি হ'ল আমি রেল প্রকল্পে একটি রুবির আই 18n এর সাথে জড়িত ছিলাম এবং আমরা কী ফাইলগুলি ইতিমধ্যে সম্পন্ন হয়েছে এবং কোন ফাইলগুলি এখনও করা দরকার তা জানতে চাই। প্রশ্নযুক্ত ব্যবহারকারীরা কেবল কোড বেসের উপর নয়, শুধুমাত্র আই 18 এন-তে কাজ করেছেন। সুতরাং সমস্ত তথ্য গিটের মধ্যে থাকা উচিত, তবে কীভাবে এটি বের করবেন তা নিশ্চিত নই।

উত্তর:


127

এটি একমাত্র উপায় নয়, তবে এটি কাজ করে:

git log --pretty="%H" --author="authorname" |
    while read commit_hash
    do
        git show --oneline --name-only $commit_hash | tail -n+2
    done | sort | uniq

বা, এক লাইন হিসাবে:

git log --pretty="%H" --author="authorname" | while read commit_hash; do git show --oneline --name-only $commit_hash | tail -n+2; done | sort | uniq

184

এটি আপনাকে ফাইলগুলির একটি সহজ তালিকা দেবে, অন্য কিছুই নয়:

git log --no-merges --author="Pattern" --name-only --pretty=format:"" | sort -u

প্রয়োজনীয় হিসাবে কমিটরের জন্য - অনুমোদিত স্যুইচ করুন।


1
--name-onlyআউটপুটটি ফাইলের নাম ব্যতীত আর কিছুই করতে পারে না। এই সত্যটি দেওয়া, কী কী বিকল্পগুলি --statএবং --pretty=format:""সম্পাদন করছে? আপনি তাদের ছেড়ে দিতে পারেন?
জোনাহ

1
@ জোনাঃ - ব্যাখ্যা = ফর্ম্যাট: "" দরকার। আমি উত্তর সম্পাদনা করেছি।
ইয়ান কেলিং

2
যদিও দুর্দান্ত ক্ষুদ্রতর ত্রুটিযুক্ত: এটি আউটপুট শুরুর সময় একটি ফাঁকা লিঙ্ক তৈরি করে, যার অর্থ ফাইলের একটি গণনা পেতে 'ডাব্লুসিএল-এল' এর মাধ্যমে ফলাফলটি পাইপিংয়ের কাজটি ১-এর মধ্যে বন্ধ রয়েছে
joachim

মুছে ফেলা ফাইলগুলিকে আমি কীভাবে বাদ দিতে পারি?
টিম বোল্যান্ড

8

ব্যবহার করে দেখুন git log --stat --committer=<user>--committer=বিকল্পটিতে ব্যবহারকারীর নামটি রাখুন (বা --author=যথাযথ হিসাবে ব্যবহার করুন )।

এটি প্রতি প্রতিশ্রুতিবদ্ধ সমস্ত ফাইলকে ছিটকে দেবে, সুতরাং সম্ভবত কিছু অনুলিপি হবে।


0
git log --pretty= --author=@abcd.com --name-only | sort -u | wc -l

গিট রেপোতে সংস্থার দ্বারা সমস্ত পরিবর্তিত ফাইল দেখায়।

git log --pretty= --author=user@abcd.com --name-only | sort -u | wc -l

গিট রেপোতে লেখক নাম 'ব্যবহারকারী' দ্বারা সমস্ত সংশোধিত ফাইল দেখায়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.