එක් පරිශීලකයෙකුගේ කොමිස් වල git ලොගය මා දකින්නේ කෙසේද?


1278

භාවිතා කරන විට git log, පරිශීලකයා විසින් පෙරහන් කරන්නේ කෙසේද, එවිට එම පරිශීලකයාගෙන් පමණක් ලැබෙන දේ මට පෙනේ.


5
එකම දේ කෙලින්ම දැකීමට ක්‍රමයක් githubතිබේද?
වඩොරෙක්වෙස්ට්

Answers:


1749

මෙය දෙකම git logසහ gitk සඳහා ක්‍රියා කරයි - ඉතිහාසය බැලීමේ වඩාත් පොදු ක්‍රම 2 යි.
ඔබට සම්පූර්ණ නම භාවිතා කිරීමට අවශ්‍ය නැත:

git log --author="Jon"

"ජොනතන් ස්මිත්" විසින් කරන ලද කැපවීමකට ගැලපේ

git log --author=Jon

සහ

git log --author=Smith

වැඩ කරයි. ඔබට කිසිදු ඉඩක් අවශ්‍ය නැතිනම් මිල ගණන් අත්‍යවශ්‍ය නොවේ.

--allඔබ ඔබේ ශාඛාවේ සෙවීමට අදහස් කරන්නේ නම් එකතු කරන්න .

මෙම පෙරණය සඳහා යටින් පවතින යාන්ත්‍රණය වන්නේ රීජෙක්ස් බැවින් ඔබට බහු කතුවරුන් සමඟ පහසුවෙන් ගැලපේ. එබැවින් ජොනතන් හෝ ආදම්ගේ බැඳීම් ලැයිස්තුගත කිරීම සඳහා ඔබට මෙය කළ හැකිය:

git log --author="\(Adam\)\|\(Jon\)"

මෙම ප්‍රශ්නයේ සඳහන් කර ඇති පරිදි සාමාන්‍ය කතුවරුන් හෝ කතුවරුන් සමූහයක් විසින් කරන ලද ප්‍රකාශයන් බැහැර කිරීම සඳහා , ඔබට ස්විචය සමඟ ඒකාබද්ධව look ණාත්මක පෙනුමක් භාවිතා කළ --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/


10
ප්රතිවිරුද්ධ දේ කිරීමට ක්රමයක් තිබේද? කියන්න - මට ජෝන් හැර සෙසු සියලු කැපවීම් දැකීමට අවශ්‍යයි.
ඉයන් රොබින්සන්

4
On git help log සඳහා "ජෝන්" යනු සාමාන්‍ය ප්‍රකාශනයකි, එබැවින් එය ඉතා පහසු විය යුතුය
sumek

2
git log --format =% an | egrep -v 'ජෝන් *' | xargs -n 1 git log -1
ඇඩම් ඩිමිට්‍රක්

4
gitkදෙමව්පියන් හැරයාමට වෙනත් ක්‍රමයක් තිබේද? (ඒවා සුදු කව වලින් දැක්වේ.) ඊට වෙනස්ව, git log --graphමවුපියන්ගේ කැපවීම් නොපෙන්වයි; එය පෙන්වන්නේ දී ඇති කතුවරයාගේ කැපවීම් පමණි. එකම ප්‍රතිදානය දැකීමට මා කැමතිය gitk. (දැනටමත් පරීක්ෂා කර ඇති මනාපයන් සහ සංස්කරණය සංස්කරණය - ප්‍රයෝජනවත් කිසිවක් සොයාගත නොහැකි විය.)
ADTC

2
මෙය සිද්ධි සංවේදී බව පරෙස්සම් වන්න
චියෙල් ටෙන් බ්‍රින්කේ


45

ගිතුබ්හි රහස් ක්‍රමයක් ද තිබේ ...

පරාමිතිය එකතු කිරීමෙන් ඔබට කර්තෘ විසින් බැඳීම් දර්ශනය තුළ කොමිස් පෙරහන් කළ හැකිය ?author=github_handle. උදාහරණයක් ලෙස, https://github.com/dynjs/dynjs/commits/master?author=jingweno සබැඳිය ඩයිනස් ව්‍යාපෘතියට කළ යුතු දේ ලැයිස්තුවක් පෙන්වයි


1
අතු හරහා බැලීමට ක්‍රමයක් තිබේද? කොමිස් / සියල්ල වැනි දෙයක්?
whizcreed

ඔබ මෙය සොයාගත්තේ කෙසේද? සහාය දක්වන වෙනත් කොඩි මොනවාද?
වුඩ්‍රෝ බාර්ලෝ

1
pro.mean ගේ පිළිතුර අතුරු මුහුණත හරහා මෙය කරන්නේ කෙසේද: stackoverflow.com/a/39123694/1225617
ඇඩම් මිලර්චිප්

මම මෙම පිළිතුරට වැඩි කැමැත්තක් නොදක්වන්නේ ප්‍රශ්නය මෘදුකාංගයකට සම්බන්ධ වූවක් වන අතර විශේෂිත සේවාවක් හා සම්බන්ධ නොවන බැවිනි.
වැලෙරියෝ බොස්

ප්රශ්නය වූයේ හුදෙක් නොතකා තාක්ෂණය - මෙම තාක්ෂණය ලඝු-සටහන බැලීම ආකාරය. එබැවින් මෙම පිළිතුර බිල්පතට හොඳින් ගැලපේ.
slott

31
git help log

ඔබට git ලොගයේ අත්පොත ලබා දෙයි. එතැනින් "කර්තෘ" සොයන්න / එබීමෙන් පසුව "කර්තෘ" ටයිප් කර එන්ටර් කරන්න. අදාළ කොටසට පිවිසීමට කිහිප වතාවක් "n" ටයිප් කරන්න, එයින් හෙළි වන්නේ:

git log --author="username"

දැනටමත් යෝජනා කර ඇති පරිදි.

මෙය ඔබට කොමිස් වල කතුවරයා ලබා දෙන බව සලකන්න, නමුත් Git හි, කතුවරයා බැඳීමට වඩා වෙනස් කෙනෙකු විය හැකිය (නිදසුනක් ලෙස ලිනක්ස් කර්නලයේ, ඔබ සාමාන්‍ය පරිශීලකයෙකු ලෙස පැච් එකක් ඉදිරිපත් කරන්නේ නම්, එය වෙනත් පරිපාලන පරිශීලකයෙකු විසින් සිදු කරනු ඇත .) Git හි කර්තෘ සහ බැඳීම් අතර වෙනස බලන්න ? වැඩි විස්තර සඳහා)

බොහෝ විට, පරිශීලකයා ලෙස යමෙකු සඳහන් කරන්නේ කැපවීම සහ කතුවරයා ය.


22
Ames ජේම්ස් මම හිතන්නේ මෙතන ඔබේ ga ණාත්මකභාවය අනවශ්‍යයි. මම ඔහුට උත්සාහ කළේ ඔහුට අමතක වූ විට විධාන රේඛාවෙන් එය බලන්නේ කෙසේද යන්න ඔහුට ඉගැන්වීමටයි. RTFM යැයි කියන පුද්ගලයෙකු සඳහා ඔබ මාව වරදවා වටහාගෙන ඇතැයි මම සිතමි, නමුත් මගේ පිළිතුරට මම පිළිතුර ඇතුළත් කළෙමි.
ustun

11
එය ga ණාත්මක නොවේ. මිනිසුන් මෙහි පැමිණ උපදෙස් ඉල්ලා සිටීම සත්‍යයක් වන අතර බොහෝ පිරිසකට RTFM හි යම් ප්‍රභේදයක් සමඟ ප්‍රතිචාර දැක්වීමට අවශ්‍යය. ප්‍රජාව සඳහා දුර්වලයි.
ජේම්ස්

12
Ame ජේම්ස් මට මෙහි ustun සමඟ එකඟ විය යුතුයි. ඔහු කළේ ප්රශ්නයට පිළිතුරු, සහ ඔහු වෙනත් GIT වලට අදාළ ප්රශ්නවලට පිළිතුරු සොයා ගැනීම සඳහා ප්රයෝජනවත් වන පිළිතුර සොයා ගැනීම සඳහා උපාය ඉදිරිපත් විය.
පීටර්

4
මම හිතන්නේ නැහැ මේ තරම් කළු හා සුදු. දැන්, මම නොවරදවාම එකඟ වෙමි, තමන් විසින්ම දේවල් කළ යුතු ආකාරය පිළිබඳව මිනිසුන් දැනුවත් කළ යුතුය - එය හොඳ අදහසකි. අස්ථිර වීම තරමක් වැරදී ඇති තැන උපකල්පන සිදු කරයි. අ) මෑන් පිටුවක් සෙවීමට OP දන්නා බවත්, වඩා වැදගත් ලෙස ආ) 'කර්තෘ' සෙවීමට OP දන්නා බවත්. ඔවුන් 'කැපකරු' හෝ 'නම' හෝ වෙනත් දෙයක් සෙව්වා විය හැකිය.
ජෝන් හන්ට්

6
@ ජෝන් හන්ට් ඔබ හරි, සෙවීම යන්නෙන් අදහස් කරන්නේ කුමක්ද සහ එකල එය සිදු කරන්නේ කෙසේද යන්න පැහැදිලි කිරීම මට කිසි විටෙකත් සිදු නොවීය. එය උපකල්පනය කළේය. පෙළ තරමක් සවි කිරීම.
ustun

23

වැඩි විස්තර ඇද ගැනීමට - (මෙහි %anකර්තෘ වෙත යොමු වේ)

මෙය භාවිතා කරන්න :-

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

ඔබට අවශ්‍ය නම් (නම ලබා දුන්) %aeවෙනුවට ඔවුන්ගේ විද්‍යුත් තැපැල් ලිපිනය භාවිතා කිරීමේ ආකෘතිය%an
මාර්ක්හු

--authorඇත්ත වශයෙන්ම සොයන්නේ කර්තෘගේ නම මිස කැප කරන්නන්ගේ නම නොවේ. මම "username"කර්තෘ ලෙස වෙනස් කරමි
ඇල්ගොරිතම


15

ඔබට ඔබේම කොමිස් පෙරීමට අවශ්‍ය නම්:

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

1
එය උපුටා දැක්වීම් සහ වරහන් නොමැතිව ද ක්‍රියා කරයි (අවම වශයෙන් git bash සහ ubuntu bash මත).
ලැවමන්ටිස්

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 ගොනුවේ මෙම කුඩා ස්නිපටය එක් කිරීමෙන් x පරිශීලකයාගේ වර්ණයෙන් ලොග් ගණනක් පෙන්වන්න.

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

GitHub භාවිතා කරන්නේ නම්:

  • ශාඛාවට යන්න
  • කොමිස් මත ක්ලික් කරන්න

එය ලැයිස්තුව පහත ආකෘතියෙන් පෙන්වනු ඇත

branch_x: < comment> 
author_name committed 2 days ago
  • තනි කතුවරයාගේ කැපවීම දැකීමට; Author_name මත ක්ලික් කරන්න, එවිට ඔබට එම ශාඛාවේ එම කතුවරයාගේ සියලු කැපවීම් දැකිය හැකිය

2
එය බොහෝ ක්ලික් කිරීම් සහ සත්කාරක git repo උපකල්පනය කරයි. ඉහත බොහෝ අය කළ පරිදි CLI ට පිළිතුරු නොදෙයි.
lacostenycoder

1
@lacostenycoder නමුත් එය ප්‍රයෝජනවත් තොරතුරු, විශේෂයෙන් GitHub හි බොහෝ git ව්‍යාපෘති ඇති බැවින්!
ඇඩම් මිලර්චිප්

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 ක් සිදු කෙරේ . එනමුත්, git ගබඩාවේ --allසෑම තැනකම (සියලුම ශාඛා) සෙවීම බලාත්මක කිරීමටද ඔබට භාවිතා කළ හැකිය .

එක් ඇල්ලීමක්: git අභ්‍යන්තරව උත්සාහ කරන්නේ <author name>git දත්ත ගබඩාවේ කර්තෘගේ නම සහ විද්‍යුත් තැපෑල සමඟ ආදානය ගැලපීමට ය. එය සිද්ධි සංවේදී ය .

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.