1人のユーザーがコミットするだけのgitログを表示するにはどうすればよいですか?
-
27-09-2019 - |
質問
使用するとき git log
, 、そのユーザーからのみコミットするように、ユーザーによってフィルタリングするにはどうすればよいですか?
解決
これは両方で機能します git log
と gitk
- 履歴を表示する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"
しかし、多くの有用な答えがあります。一方、別の方法を追加するだけです。使用することもできます
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データベースにある著者の名前と電子メール。そうです 大文字と小文字を区別.