ব্যবহার করার সময় git log
, আমি কীভাবে ব্যবহারকারীর মাধ্যমে ফিল্টার করব যাতে আমি কেবল সেই ব্যবহারকারীর কাছ থেকে কমিটগুলি দেখতে পাই?
ব্যবহার করার সময় git log
, আমি কীভাবে ব্যবহারকারীর মাধ্যমে ফিল্টার করব যাতে আমি কেবল সেই ব্যবহারকারীর কাছ থেকে কমিটগুলি দেখতে পাই?
উত্তর:
উভয়ের জন্য এই কাজ করে git log
এবং gitk
- 2 দেখার ইতিহাস সবচেয়ে সাধারণ উপায়।
আপনার পুরো নামটি ব্যবহার করার দরকার নেই:
git log --author="Jon"
"জোনাথন স্মিথ" দ্বারা করা একটি প্রতিশ্রুতি মিলবে
git log --author=Jon
এবং
git log --author=Smith
কাজ করবে। আপনার কোনও ফাঁকের প্রয়োজন না হলে উদ্ধৃতিগুলি চ্ছিক।
--all
আপনার রেপোতে কেবল বর্তমান কমিটের পূর্বপুরুষদের জন্য নয় সমস্ত শাখা অনুসন্ধান করার ইচ্ছা থাকলে যোগ করুন ।
আপনি সহজেই একাধিক লেখকের সাথে মিল করতে পারেন কারণ এই ফিল্টারটির জন্য রেজেজেক্স অন্তর্নিহিত প্রক্রিয়া। সুতরাং জোনাথন বা অ্যাডামের কমিটগুলি তালিকাবদ্ধ করতে, আপনি এটি করতে পারেন:
git log --author="\(Adam\)\|\(Jon\)"
এই প্রশ্নে উল্লিখিত নিয়মিত অভিব্যক্তি ব্যবহার করে কোনও নির্দিষ্ট লেখক বা লেখকদের সংকলনকে বাদ দেওয়ার জন্য , আপনি স্যুইচটির সাথে একত্রিত করে নেতিবাচক চেহারাটি ব্যবহার করতে পারেন --perl-regexp
:
git log --author='^(?!Adam|Jon).*$' --perl-regexp
বিকল্পভাবে, আপনি ব্যবহার bash
এবং পাইপ দ্বারা অ্যাডাম দ্বারা রচিত কমিটগুলি বাদ দিতে পারেন :
git log --format='%H %an' |
grep -v Adam |
cut -d ' ' -f1 |
xargs -n1 git log -1
আপনি যদি অ্যাডামের দ্বারা প্রদত্ত কমিটগুলি (তবে প্রয়োজনীয় লেখক নয়) বাদ দিতে চান তবে এর %an
সাথে প্রতিস্থাপন করুন %cn
। এ সম্পর্কে আরও বিশদটি আমার ব্লগ পোস্টে এখানে রয়েছে: http://dymitruk.com/blog/2012/07/18/filtering-by-author-name/
gitk
অন্য লেখকদের কাছ থেকে পিতামাতার প্রতিশ্রুতি ছেড়ে দেওয়ার কোনও উপায় ? (এগুলি সাদা চেনাশোনাগুলির সাথে দেখানো হয়েছে)) বিপরীতে, git log --graph
পিতামাতার প্রতিশ্রুতি প্রদর্শন করে না; এটি কেবল প্রদত্ত লেখকের কমিটগুলি দেখায়। আমি একই আউটপুটটি দেখতে পছন্দ করব gitk
। (ইতিমধ্যে পরীক্ষিত পছন্দসমূহ এবং সম্পাদনা দর্শন দেখুন - দরকারী কিছু খুঁজে
git log --author="that user"
গিথুবে একটি গোপন উপায়ও রয়েছে ...
লেখক দ্বারা কমিট ভিউতে প্যারাম যুক্ত করে ফিল্টার করতে পারেন ?author=github_handle
। উদাহরণস্বরূপ, https://github.com/dynjs/dynjs/commits/master?author=jingweno লিঙ্কটি ডিনজেস প্রকল্পের প্রতিশ্রুতিগুলির একটি তালিকা দেখায়
git help log
আপনাকে গিট লগের ম্যানপেজ দেয়। সেখানে "লেখক" সন্ধান করুন / এবং তারপরে "লেখক" টাইপ করে, তারপরে এন্টার প্রবেশ করুন। প্রাসঙ্গিক বিভাগে পেতে কয়েকবার "এন" টাইপ করুন যা প্রকাশ করে:
git log --author="username"
ইতিমধ্যে প্রস্তাবিত হিসাবে।
মনে রাখবেন এটি আপনাকে কমিটের লেখক দেবে, তবে গিট-এ লেখক কমিটর থেকে আলাদা কেউ হতে পারেন (উদাহরণস্বরূপ লিনাক্স কার্নেলে, আপনি যদি কোনও সাধারণ ব্যবহারকারী হিসাবে কোনও প্যাচ জমা দেন তবে এটি অন্য প্রশাসনিক ব্যবহারকারীর দ্বারা প্রতিশ্রুতিবদ্ধ হতে পারে ।) গীতে লেখক এবং প্রতিশ্রুতিবদ্ধ মধ্যে পার্থক্য দেখুন ? বিস্তারিত জানার জন্য)
বেশিরভাগ সময়, ব্যবহারকারী হিসাবে যা বোঝায় তা প্রতিশ্রুতিবদ্ধ এবং লেখক উভয়ই।
আরও বিশদ টানতে - (এখানে %an
লেখককে বোঝায়)
এটা ব্যবহার কর :-
git log --author="username" --pretty=format:"%h - %an, %ar : %s"
%ae
পরিবর্তে %an
(যা নাম দিয়েছে use) এর বিন্যাসটি ব্যবহার করতে চান
--author
প্রকৃতপক্ষে লেখকের নাম অনুসন্ধান করে এবং প্রতিশ্রুতিবদ্ধ নাম নয়। আমি "username"
লেখক বদলে যাব
cat | git log --author="authorName" > author_commits_details.txt
এটি পাঠ্য বিন্যাসে আপনার কমিটগুলি দেয়।
cat |
?
আপনি যদি নিজের নিজস্ব প্রতিশ্রুতিগুলি ফিল্টার করতে চান:
git log --author="<$(git config user.email)>"
এই সরঞ্জামটি https://github.com/kamranahmedse/git-standup ব্যবহার করে দেখুন
```bash
$ git standup [-a <author name>]
[-w <weekstart-weekend>]
[-m <max-dir-depth>]
[-f]
[-L]
[-d <days-ago>]
[-D <date-format>]
[-g]
[-h]
```
নীচে প্রতিটি পতাকার বিবরণ দেওয়া হল
- `-a` - Specify author to restrict search to (name or email)
- `-w` - Specify weekday range to limit search to (e.g. `git standup -w SUN-THU`)
- `-m` - Specify the depth of recursive directory search
- `-L` - Toggle inclusion of symbolic links in recursive directory search
- `-d` - Specify the number of days back to include
- `-D` - Specify the date format for "git log" (default: relative)
- `-h` - Display the help screen
- `-g` - Show if commit is GPG signed or not
- `-f` - Fetch the latest commits beforehand
আপনার .bashrc ফাইলে এই ছোট্ট স্নিপেটটি যুক্ত করে রঙে এক্স ব্যবহারকারীর জন্য নম্বরের সংখ্যা দেখান।
gitlog() {
if [ "$1" ] && [ "$2" ]; then
git log --pretty=format:"%h%x09 %C(cyan)%an%x09 %Creset%ad%x09 %Cgreen%s" --date-order -n "$1" --author="$2"
elif [ "$1" ]; then
git log --pretty=format:"%h%x09 %C(cyan)%an%x09 %Creset%ad%x09 %Cgreen%s" --date-order -n "$1"
else
git log --pretty=format:"%h%x09 %C(cyan)%an%x09 %Creset%ad%x09 %Cgreen%s" --date-order
fi
}
alias l=gitlog
ফ্রাঙ্কের দ্বারা সর্বশেষ 10 টি কমিটগুলি দেখানোর জন্য:
l 10 frank
যে কারও দ্বারা সর্বশেষ 20 টি কমিটগুলি দেখানোর জন্য:
l 20
গিটহাব ব্যবহার করা হলে:
এটি নীচের বিন্যাসে তালিকা প্রদর্শন করবে
branch_x: < comment>
author_name committed 2 days ago
আপনি = বা "স্পেস" ব্যবহার করতে পারেন। উদাহরণস্বরূপ নিম্নলিখিত দুটি কমান্ড একই ফিরে আসে
git log --author="Developer1"
git log --author "Developer1"
আমার ক্ষেত্রে: আমি উত্স গাছ ব্যবহার করছি, আমি নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করেছি:
CRL+3
যদিও, অনেক দরকারী উত্তর আছে। তবে, এটির সাথে অন্য কোনও উপায় যুক্ত করতে। আপনি ব্যবহার করতে পারেন
git shortlog --author="<author name>" --format="%h %s"
এটি গ্রুপবদ্ধ পদ্ধতিতে আউটপুট প্রদর্শন করবে:
<Author Name> (5):
4da3975f dependencies upgraded
49172445 runtime dependencies resolved
bff3e127 user-service, kratos, and guava dependencies upgraded
414b6f1e dropwizard :- service, rmq and db-sharding depedencies upgraded
a96af8d3 older dependecies removed
এখানে <Author Name>
বর্তমান শাখার আওতায় মোট 5 টি কমিট সম্পাদন করা হয় । অন্যদিকে, আপনি গিট সংগ্রহস্থলের --all
সর্বত্র (সমস্ত শাখা) অনুসন্ধান প্রয়োগ করতেও ব্যবহার করতে পারেন ।
একটি ধরা: গিট অভ্যন্তরীণভাবে <author name>
গিট ডাটাবেসে লেখকের নাম এবং ইমেলের সাথে একটি ইনপুট মেলানোর চেষ্টা করে। এটি কেস-সংবেদনশীল ।
github
?