Saat menggunakan git log
, bagaimana saya bisa memfilter menurut pengguna sehingga saya hanya melihat komitmen dari pengguna itu?
git
version-control
git-log
markdorison
sumber
sumber
github
?Jawaban:
Ini berfungsi untuk keduanya
git log
dangitk
- 2 cara paling umum untuk melihat riwayat.Anda tidak perlu menggunakan seluruh nama:
akan cocok dengan komit yang dibuat oleh "Jonathan Smith"
dan
juga akan bekerja. Kutipan bersifat opsional jika Anda tidak membutuhkan spasi.
Tambahkan
--all
jika Anda bermaksud mencari semua cabang dan bukan hanya leluhur komit saat ini di repo Anda.Anda juga dapat dengan mudah mencocokkan beberapa penulis karena regex adalah mekanisme yang mendasari filter ini. Jadi, untuk membuat daftar komitmen oleh Jonathan atau Adam, Anda dapat melakukan ini:
Untuk mengecualikan komit oleh penulis atau set penulis tertentu menggunakan ekspresi reguler seperti yang disebutkan dalam pertanyaan ini , Anda dapat menggunakan lookahead negatif dalam kombinasi dengan
--perl-regexp
sakelar:Atau, Anda dapat mengecualikan komit yang dibuat oleh Adam dengan menggunakan
bash
dan mengirim piping:Jika Anda ingin mengecualikan komitmen yang dilakukan (tetapi tidak harus ditulis) oleh Adam, ganti
%an
dengan%cn
. Rincian lebih lanjut tentang ini ada di posting blog saya di sini: http://dymitruk.com/blog/2012/07/18/filtering-by-author-name/sumber
gitk
cuti dari komitmen orang tua dari penulis lain? (Mereka ditunjukkan dengan lingkaran putih.) Sebaliknya,git log --graph
tidak menunjukkan komitmen induk; itu hanya menunjukkan komitmen penulis yang diberikan. Saya ingin melihat output yang sama digitk
. (Sudah memeriksa Preferensi dan Edit Tampilan - tidak dapat menemukan sesuatu yang bermanfaat.)sumber
Di github ada juga cara rahasia ...
Anda dapat memfilter komit oleh penulis dalam tampilan komit dengan menambahkan param
?author=github_handle
. Misalnya, tautan https://github.com/dynjs/dynjs/commits/master?author=jingweno memperlihatkan daftar komitmen pada proyek Dynjssumber
memberi Anda halaman manual 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:
seperti yang sudah disarankan.
Perhatikan bahwa ini akan memberi Anda penulis komit, tetapi di Git, penulis dapat seseorang yang berbeda dari committer (misalnya dalam kernel Linux, jika Anda mengirimkan tambalan sebagai pengguna biasa, itu mungkin dilakukan oleh pengguna administratif lain .) Lihat Perbedaan antara penulis dan pengangkat di Git? untuk lebih jelasnya)
Sebagian besar waktu, apa yang disebut sebagai pengguna adalah pengalih dan pengarang.
sumber
Untuk menarik lebih detail - (Di sini
%an
merujuk pada penulis)Gunakan ini :-
sumber
%ae
bukan%an
(yang memberi nama.)--author
sebenarnya mencari berdasarkan nama penulis dan bukan nama pengalih. Saya akan berubah"username"
menjadi penulisIni memberikan komitmen Anda dalam format teks.
sumber
cat |
?Jika Anda ingin memfilter komitmen Anda sendiri:
sumber
Anda bahkan dapat menyingkat ini sedikit dengan hanya menggunakan bagian dari nama pengguna:
sumber
coba alat ini https://github.com/kamranahmedse/git-standup
Pemakaian
Di bawah ini adalah deskripsi untuk masing-masing bendera
sumber
Karena pertanyaan lain (mungkin salah?) Dikunci, saya hanya akan meletakkan ini di sini:
perlihatkan penulis dengan jumlah komit mereka:
temukan semua komitmen untuk USERNAME tertentu:
sumber
Perlihatkan n jumlah log untuk x pengguna berwarna dengan menambahkan potongan kecil ini dalam file .bashrc Anda.
Untuk menampilkan 10 komitmen terakhir oleh Frank:
l 10 frank
Untuk menampilkan 20 komitmen terakhir oleh siapa pun:
l 20
sumber
Jika menggunakan GitHub:
itu akan menampilkan daftar dalam format di bawah ini
sumber
Anda dapat menggunakan = atau "spasi". Misalnya, mengikuti dua perintah, kembalikan sama
sumber
Kasus saya: Saya menggunakan kode sumber, saya mengikuti langkah-langkah berikut:
CRL+3
sumber
Meskipun, ada banyak jawaban yang bermanfaat. Padahal, hanya menambahkan cara lain untuk itu. Anda juga bisa menggunakan
Ini akan menampilkan output dalam cara yang dikelompokkan:
Di sini, total 5 komit dilakukan di
<Author Name>
bawah cabang saat ini. Sedangkan, Anda juga dapat menggunakan--all
untuk menegakkan pencarian di mana-mana (semua cabang) di repositori git.Satu tangkapan: git secara internal mencoba mencocokkan input
<author name>
dengan nama dan email penulis di basis data git. Ini case-sensitive .sumber