1人のユーザーがコミットするだけのgitログを表示するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/4259996

  •  27-09-2019
  •  | 
  •  

質問

使用するとき git log, 、そのユーザーからのみコミットするように、ユーザーによってフィルタリングするにはどうすればよいですか?

役に立ちましたか?

解決

これは両方で機能します git loggitk - 履歴を表示する2つの最も一般的な方法。名前全体を使用する必要はありません。

git log --author="Jon"

「ジョナサン・スミス」によるコミットに一致します

git log --author=Jon

git log --author=Smith

また機能します。スペースが必要ない場合は、引用符はオプションです。

追加 --all 現在のコミットの祖先だけでなく、すべてのブランチを検索する場合は、リポジトリの祖先だけではありません。

Regexはこのフィルターの根本的なメカニズムであるため、複数の著者を簡単に一致させることもできます。ジョナサンまたはアダムによるコミットをリストするには、これを行うことができます。

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

記載されているように、正規表現を使用して特定の著者または一連の著者によるコミットを除外するために この質問で, 、aを使用できます ネガティブルックヘッド と組み合わせて --perl-regexp スイッチ:

git log --author='^(?!Adam|Jon).*$' --perl-regexp

または、Adamが作成したコミットを使用して除外することもできます bash と配管:

git log --format='%H %an' | 
  grep -v Adam | 
  cut -d ' ' -f1 | 
  xargs -n1 git log -1

Adamがコミットしたコミットを除外したい場合(必ずしも作成されているわけではありません)、交換してください %an%cn. 。これの詳細については、私のブログ投稿はこちら: http://dymitruk.com/blog/2012/07/18/filtering-by-author-name/

他のヒント

git log --author="that user"

githubにはaもあります 秘密の 仕方...

PARAMを追加して、コミットビューで著者によるコミットをフィルタリングできます ?author=github_handle. 。たとえば、リンク https://github.com/dynjs/dynjs/commits/master?author=jingweno DYNJSプロジェクトへのコミットのリストを示します

git help log

gitログのマンページを提供します。そこで「著者」を押して、「著者」を入力し、その後Enterが続きます。 「n」と入力して、関連するセクションに到達します。

git log --author="username"

すでに示唆したように。

これにより、コミットの著者が提供されますが、gitでは、著者はコミッターとは異なる人になることができます(たとえば、Linuxカーネルでは、通常のユーザーとしてパッチを送信する場合、別の管理ユーザーがコミットする可能性があります。 。) 見る Gitの著者とコミッターの違いは? 詳細については)

ほとんどの場合、ユーザーとして言及しているのは、ユーザーがコミッターと著者の両方です。

詳細を引き出すには - (こちら %an 著者を指します)

これを使って :-

git log --author="username" --pretty=format:"%h - %an, %ar : %s"
cat | git log --author="authorName" > author_commits_details.txt

これにより、テキスト形式でコミットが得られます。

ユーザー名の一部を使用するだけで、これを少し略すこともできます。

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

あなた自身のコミットをフィルタリングしたい場合:

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

githubを使用する場合:

  • ブランチに行きます
  • Commitsをクリックしてください

以下の形式でリストを表示します

branch_x: < comment> 
author_name committed 2 days ago
  • 個々の著者のコミットを見るため。クリック 著者_name そして、そこにあなたはその著者のすべてのコミットをそのブランチに見ることができます

他の質問は(おそらく不当にそうなるでしょうか?)ロックされていたので、私はこれをここに置くだけです:

コミットカウントを持つ著者を示します:

git shortlog -nse

特定のユーザー名のすべてのコミットを見つけます:

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

.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

=または「スペース」のいずれかを使用できます。たとえば、2つのコマンドが同じものを返します

git log --author="Developer1"

git log --author "Developer1"

私のケース:私はソースツリーを使用しています、私は次の手順に従いました:

  1. 押された CRL+3
  2. ドロップダウン著者を変更しました
  3. 「Vinod Kumar」という名前を入力しました

enter image description here

しかし、多くの有用な答えがあります。一方、別の方法を追加するだけです。使用することもできます

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

ここでは、合計5つのコミットが行われます <Author Name> 現在のブランチの下。一方、使用することもできます --all どこでも検索を実施する (すべての枝) gitリポジトリ内。

1つのキャッチ: GITは内部的に入力を一致させようとします <author name> GITデータベースにある著者の名前と電子メール。そうです 大文字と小文字を区別.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top