কেবলমাত্র একজন ব্যবহারকারীর কমিটের গিট লগ আমি কীভাবে দেখতে পারি?


1255

ব্যবহার করার সময় git log, আমি কীভাবে ব্যবহারকারীর মাধ্যমে ফিল্টার করব যাতে আমি কেবল সেই ব্যবহারকারীর কাছ থেকে কমিটগুলি দেখতে পাই?


4
একই জিনিসটি সরাসরি দেখার কোনও উপায় আছে কি github?
ভাদোরকোয়েস্ট

1
গিথুব এ এটি করতে: stackoverflow.com/a/23515164/26510
ব্র্যাড পার্কস

উত্তর:


1713

উভয়ের জন্য এই কাজ করে 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/


9
বিপরীত উপায় আছে? বলুন - আমি জোন ব্যতীত সমস্ত প্রতিশ্রুতি দেখতে চাই।
আয়ান রবিনসন

4
@ গিট সাহায্যের জন্য লগ "জোন" একটি নিয়মিত বহিঃপ্রকাশ তাই এটি খুব সহজ হওয়া উচিত
সুমেক

2
গিট লগ - ফর্ম্যাট =% আন | egrep -v 'জন *' | xargs -n 1 গিট লগ -1
অ্যাডাম ডাইমিট্রুক

4
gitkঅন্য লেখকদের কাছ থেকে পিতামাতার প্রতিশ্রুতি ছেড়ে দেওয়ার কোনও উপায় ? (এগুলি সাদা চেনাশোনাগুলির সাথে দেখানো হয়েছে)) বিপরীতে, git log --graphপিতামাতার প্রতিশ্রুতি প্রদর্শন করে না; এটি কেবল প্রদত্ত লেখকের কমিটগুলি দেখায়। আমি একই আউটপুটটি দেখতে পছন্দ করব gitk(ইতিমধ্যে পরীক্ষিত পছন্দসমূহ এবং সম্পাদনা দর্শন দেখুন - দরকারী কিছু খুঁজে
পাচ্ছে না

2
এটি কেস সংবেদনশীল
চিয়েল টেন ব্রিনকে


44

গিথুবে একটি গোপন উপায়ও রয়েছে ...

লেখক দ্বারা কমিট ভিউতে প্যারাম যুক্ত করে ফিল্টার করতে পারেন ?author=github_handle। উদাহরণস্বরূপ, https://github.com/dynjs/dynjs/commits/master?author=jingweno লিঙ্কটি ডিনজেস প্রকল্পের প্রতিশ্রুতিগুলির একটি তালিকা দেখায়


1
শাখা জুড়ে দেখতে কোনও উপায়? কমিট / সব কিছুর মতো?
হুইসক্রিড

আপনি এটি কিভাবে পেলেন? অন্য কোন পতাকা সমর্থিত?
উড্রো বারলো

1
pro.mean এর উত্তর কিভাবে ইন্টারফেসের মাধ্যমে এই কাজ করতে: stackoverflow.com/a/39123694/1225617
আদম Millerchip

আমি এই উত্তরটিকে পছন্দ করি না কারণ প্রশ্নটি কোনও সফ্টওয়্যার সম্পর্কিত এবং নির্দিষ্ট পরিষেবার সাথে সম্পর্কিত নয়।
ভ্যালারিও বোজ

প্রশ্ন ছিল মাত্র প্রযুক্তি নির্বিশেষে - Git লগ দেখতে কিভাবে। সুতরাং এই উত্তরটি ঠিক ঠিক জরিমানা করে fits
স্লট

31
git help log

আপনাকে গিট লগের ম্যানপেজ দেয়। সেখানে "লেখক" সন্ধান করুন / এবং তারপরে "লেখক" টাইপ করে, তারপরে এন্টার প্রবেশ করুন। প্রাসঙ্গিক বিভাগে পেতে কয়েকবার "এন" টাইপ করুন যা প্রকাশ করে:

git log --author="username"

ইতিমধ্যে প্রস্তাবিত হিসাবে।

মনে রাখবেন এটি আপনাকে কমিটের লেখক দেবে, তবে গিট-এ লেখক কমিটর থেকে আলাদা কেউ হতে পারেন (উদাহরণস্বরূপ লিনাক্স কার্নেলে, আপনি যদি কোনও সাধারণ ব্যবহারকারী হিসাবে কোনও প্যাচ জমা দেন তবে এটি অন্য প্রশাসনিক ব্যবহারকারীর দ্বারা প্রতিশ্রুতিবদ্ধ হতে পারে ।) গীতে লেখক এবং প্রতিশ্রুতিবদ্ধ মধ্যে পার্থক্য দেখুন ? বিস্তারিত জানার জন্য)

বেশিরভাগ সময়, ব্যবহারকারী হিসাবে যা বোঝায় তা প্রতিশ্রুতিবদ্ধ এবং লেখক উভয়ই।


21
@ জেমস আমি মনে করি আপনার এখানে নেতিবাচকতা অনিয়ন্ত্রিত। আমি তাকে সহজভাবে শেখানোর চেষ্টা করছিলাম যে সে যদি ভুলে যায় তবে কমান্ড লাইন থেকে কীভাবে এটি সন্ধান করা যায়। আমি মনে করি আপনি আমাকে এমন একজন ব্যক্তির জন্য ভুল করছেন যা কেবল আরটিএফএম বলে, তবে আমি উত্তরটি আমার প্রতিক্রিয়ায় অন্তর্ভুক্ত করেছি।
এস্টুন

11
এটা নেতিবাচকতা নয়। এটি সত্য যে লোকেরা এখানে পরামর্শ চাইতে আসে, এবং প্রচুর লোকেরা আরটিএফএমের কিছু বৈকল্পিকের সাথে প্রতিক্রিয়া জানাতে চায়। সম্প্রদায়ের জন্য খারাপভাবে দেহগুলি।
জেমস

11
@ জেমস আমাকে এখানে ওস্তুনের সাথে একমত হতে হবে। তিনি করেনি প্রশ্নের উত্তর দেন তখন এবং তিনি উত্তর যা অন্যান্য Git সংক্রান্ত প্রশ্নের উত্তর খোঁজার জন্য সহায়ক খোঁজার জন্য একটি কৌশল দেওয়া।
পিটার

4
আমি মনে করি না এটি এতটা কালো এবং সাদা as এখন, আমি আনস্টুনের সাথে একমত হয়েছি যে লোকদের কীভাবে নিজের জন্য জিনিসগুলি করা যায় তা আমাদের শিক্ষিত করা উচিত - এটি একটি ভাল ধারণা। যেখানে আনস্টুন কিছুটা ভুল হয়ে গিয়েছিল তা অনুমান করা হচ্ছে ক) যে ওপি কোনও ম্যান পেজ কীভাবে অনুসন্ধান করতে জানে এবং আরও গুরুত্বপূর্ণভাবে খ) ওপি 'লেখক' সন্ধান করতে জানে। তারা 'প্রতিশ্রুতিবদ্ধ' বা 'নাম' বা কোনও কিছুর সন্ধান করতে পারে।
জন হান্ট

6
@ জনহান্ট আপনি ঠিক বলেছেন, অনুসন্ধানের অর্থ কী এবং এটি কীভাবে করা হয়েছিল তা ব্যাখ্যা করার জন্য এটি আমার কাছে কখনও ঘটেনি। ধরণের এটা ধরে নেওয়া। লেখাটি কিছুটা ঠিক করা।
অস্টুন

23

আরও বিশদ টানতে - (এখানে %anলেখককে বোঝায়)

এটা ব্যবহার কর :-

git log --author="username" --pretty=format:"%h - %an, %ar : %s"

এবং আপনি যদি তাদের ইমেল ঠিকানাটির %aeপরিবর্তে %an(যা নাম দিয়েছে use) এর বিন্যাসটি ব্যবহার করতে চান
মার্কহু

--authorপ্রকৃতপক্ষে লেখকের নাম অনুসন্ধান করে এবং প্রতিশ্রুতিবদ্ধ নাম নয়। আমি "username"লেখক বদলে যাব
অ্যালগোরিদ্যাটিক


14

আপনি যদি নিজের নিজস্ব প্রতিশ্রুতিগুলি ফিল্টার করতে চান:

git log --author="<$(git config user.email)>"

1
এটি উদ্ধৃতি এবং বন্ধনী ছাড়াও কাজ করে (কমপক্ষে গিট ব্যাশ এবং উবুন্টু বাশে)।
লাভভাঁতিস

12

আপনি কেবল ব্যবহারকারীর নামের অংশটি ব্যবহার করে এটিকে কিছুটা সংক্ষেপে বলতে পারেন:

git log --author=mr  #if you're looking for mrfoobar's commits

11

এই সরঞ্জামটি 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

6

যেহেতু অন্য প্রশ্নটি ছিল (সম্ভবত ভুলভাবে তাই?) লক করা ছিল, আমি কেবল এটি এখানে রাখব:

লেখকদের তাদের প্রতিশ্রুতি গণনা সহ দেখান:

git shortlog -nse

নির্দিষ্ট USERNAME এর জন্য সমস্ত প্রতিশ্রুতি সন্ধান করুন:

git log --author=USERNAME --oneline | awk '{print $1}' | xargs git show

5

আপনার .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


4

গিটহাব ব্যবহার করা হলে:

  • শাখায় যান
  • কমিট ক্লিক করুন

এটি নীচের বিন্যাসে তালিকা প্রদর্শন করবে

branch_x: < comment> 
author_name committed 2 days ago
  • স্বতন্ত্র লেখকের প্রতিশ্রুতি দেখতে; লেখক_নামনে ক্লিক করুন এবং সেখানে আপনি সেই শাখায় সেই লেখকের সমস্ত প্রতিশ্রুতি দেখতে পাবেন

2
এটি প্রচুর ক্লিক এবং হোস্টেড গিট রেপো ধরে নিচ্ছে। উপরোক্ত অনেকে যেমন করেছেন তেমন সিএলআইকে উত্তর দেয় না।
lacostenycoder

1
@ লাকোস্টেইনাইকোডার তবে এটি দরকারী তথ্য, বিশেষত গিটহাবে অনেকগুলি গিট প্রকল্প রয়েছে বলে!
অ্যাডাম মিলারচিপ

2

আপনি = বা "স্পেস" ব্যবহার করতে পারেন। উদাহরণস্বরূপ নিম্নলিখিত দুটি কমান্ড একই ফিরে আসে

git log --author="Developer1"

git log --author "Developer1"

1

আমার ক্ষেত্রে: আমি উত্স গাছ ব্যবহার করছি, আমি নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করেছি:

  1. টেপা CRL+3
  2. ড্রপডাউন লেখক পরিবর্তিত হয়েছে
  3. "বিনোদ কুমার" নামটি টাইপ করুন

এখানে চিত্র বর্ণনা লিখুন


1

যদিও, অনেক দরকারী উত্তর আছে। তবে, এটির সাথে অন্য কোনও উপায় যুক্ত করতে। আপনি ব্যবহার করতে পারেন

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>গিট ডাটাবেসে লেখকের নাম এবং ইমেলের সাথে একটি ইনপুট মেলানোর চেষ্টা করে। এটি কেস-সংবেদনশীল

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