Pertanyaan Bagaimana saya bisa melihat log git dari satu pengguna saja?


Ketika menggunakan git log, bagaimana saya bisa memfilter menurut pengguna sehingga saya hanya melihat commit dari pengguna itu?


957
2017-11-23 19:31


asal


Jawaban:


Ini berfungsi untuk keduanya git log dan gitk - 2 cara paling umum dalam melihat sejarah. Anda tidak perlu menggunakan seluruh nama.

git log --author="Jon"

akan cocok dengan komit yang dibuat oleh "Jonathan Smith"

git log --author=Jon

dan

git log --author=Smith

juga akan bekerja. Tanda kutip opsional jika Anda tidak memerlukan spasi.

Menambahkan --all jika Anda ingin mencari semua cabang dan bukan hanya leluhur komitmen saat ini di repo Anda.

Anda juga dapat dengan mudah mencocokkan pada banyak penulis karena regex adalah mekanisme yang mendasari untuk filter ini. Jadi untuk membuat daftar komit oleh Jonathan atau Adam, Anda dapat melakukan ini:

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

Untuk mengecualikan komit oleh penulis atau kumpulan penulis tertentu menggunakan ekspresi reguler seperti yang disebutkan dalam pertanyaan ini, Anda dapat menggunakan lookahead negatif dalam kombinasi dengan --perl-regexp beralih:

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

Sebagai alternatif, Anda dapat mengecualikan komit yang ditulis oleh Adam dengan menggunakan bash dan perpipaan:

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

Jika Anda ingin mengecualikan komitmen yang dilakukan (tetapi tidak perlu ditulis) oleh Adam, ganti %an dengan %cn. Detail lebih lanjut tentang ini ada di posting blog saya di sini: http://dymitruk.com/blog/2012/07/18/filtering-by-author-name/


1286
2017-11-23 19:35



git log --author="that user"

38
2018-05-07 10:23



Di github ada juga a rahasia cara...

Anda dapat memfilter komit oleh penulis dalam tampilan commit dengan menambahkan param ?author=github_handle. Misalnya, tautan https://github.com/dynjs/dynjs/commits/master?author=jingweno menunjukkan daftar commit ke proyek Dynjs


37
2017-11-23 19:37



git help log

memberi Anda manpage dari git log. Cari "penulis" di sana dengan menekan / dan kemudian mengetik "penulis", diikuti oleh Enter. Ketik "n" beberapa kali untuk sampai ke bagian yang relevan, yang mengungkapkan:

git log --author="username"

seperti yang sudah disarankan.

Perhatikan bahwa ini akan memberi Anda penulis komit, tetapi di Git, penulis dapat seseorang yang berbeda dari committer (misalnya di kernel Linux, jika Anda mengirimkan patch sebagai pengguna biasa, mungkin dilakukan oleh pengguna administratif lain .) Lihat Perbedaan antara penulis dan pelaku di Git? untuk lebih jelasnya)

Sebagian besar waktu, apa yang disebut sebagai pengguna adalah baik committer dan penulis sekalipun.


27
2017-08-11 19:09



Untuk menarik lebih banyak detail - (Di Sini %an mengacu pada penulis)

Gunakan ini :-

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

14
2017-09-23 06:32



cat | git log --author="authorName" > author_commits_details.txt

Ini memberi Anda commit dalam format teks.


13
2018-03-24 18:54



Anda bahkan dapat menyingkat ini sedikit dengan hanya menggunakan bagian dari nama pengguna:

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

11
2017-11-22 13:57



Jika Anda ingin menyaring commit Anda sendiri:

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

9
2018-06-19 12:19



coba alat ini https://github.com/kamranahmedse/git-standup

Pemakaian

```bash
$ git standup [-a <author name>] 
              [-w <weekstart-weekend>] 
              [-m <max-dir-depth>]
              [-f]
              [-L]
              [-d <days-ago>]
              [-D <date-format>] 
              [-g] 
              [-h]
```

Di bawah ini adalah deskripsi untuk masing-masing bendera

- `-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
2017-08-24 12:43



Jika menggunakan GitHub:

  • pergi ke cabang
  • klik pada commit

itu akan menampilkan daftar dalam format di bawah ini

branch_x: < comment> 
author_name committed 2 days ago
  • untuk melihat komitmen individu penulis; klik author_name  dan di sana Anda dapat melihat semua komitmen penulis itu di cabang itu

2
2017-09-17 15:11