Pertanyaan mengapa saya harus menekan q di akhir git log


git log -n 20 --pretty=oneline

Saya mengatakan bahwa saya hanya perlu melihat 20 komit terakhir. Saya benci memukul Q untuk menyingkirkan END. Apakah ada jalan keluar sehingga saya tidak perlu memukul q.


76
2018-03-02 16:56


asal


Jawaban:


Git secara otomatis menampilkan output untuk Anda, karena log cenderung mudah meluap ukuran terminal terminal tunggal (Anda berada di salah satu pengecualian langka - format oneline dan batas komit yang kecil). Jika Anda tidak menginginkan ini, gunakan:

git --no-pager log -n 20 --pretty=oneline

Perhatikan bahwa ini berarti Anda akan mendapatkan pembungkus jelek, karena pager itu sebelumnya mematikan pembungkus untuk Anda (karena Anda dapat menggunakan tombol kursor untuk menggulir ke kiri-kanan).


78
2018-03-02 17:08



Anda dapat "mematikan" git paging dengan mengatakannya untuk menggunakan kucing, bukan kurang. Setelah itu, pipa output melalui lebih sedikit ketika Anda ingin paging, atau kepala jika Anda hanya ingin melihat bagian atas, dll.

git config --global core.pager cat

Saya mematikan paging otomatis karena saya sering menjalankan git dari dalam emacs, yang tidak perlu atau dimainkan dengan baik dengan lebih sedikit.


22
2018-03-02 17:26



less menerima -F argumen untuk berhenti secara otomatis jika konten sesuai pada satu layar


13
2018-03-02 17:36



git log -n 20 --pretty=oneline | cat

sedikit lebih pendek dari itu --no-pager tetapi juga akan menghapus semua warna yang ada.


9
2018-03-02 17:10



Jika ingin digunakan --no-pager dalam alias, atur alias Anda dengan cara ini:

hist = !git --no-pager log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short

8
2017-12-05 15:23



q digunakan untuk menutup program baris perintah digunakan untuk melihat log ... Anda dapat menggunakan penampil log lain seperti gitk

gitk -n 20

0
2018-03-02 17:05