Jawaban:
Dimulai dengan v2.1.0
, Magit menggunakan perpustakaan magit-popup.el
untuk mengimplementasikan "popup buffer" atau "prefix-infix-suffix combo". Terlepas dari namanya, perpustakaan itu dapat digunakan oleh paket yang tidak terkait dengan Magit, dan karena itu tersedia sebagai paket Elpa yang terpisah. Bahkan memiliki manual sendiri sekarang!
Argumen default sekarang dapat diatur langsung dari buffer popup. Untuk selalu menggunakan --verbose
ketika melakukan lakukan ini:
--verbose
magit-commit-arguments
)Secara default semua buffer popup diakhiri dengan bagian bernama "Perintah Umum". Jika tidak, gunakan C-tuntuk menunjukkannya. Anda mungkin tidak ingin melihat bagian itu sepanjang waktu dan karenanya harus diatur magit-popup-show-common-commands
ke nil
.
Tentu saja juga dimungkinkan untuk mengatur nilai magit-commit-arguments
dan variabel lainnya menggunakan antarmuka Kustom setq
,, atau add-to-list
. Tapi saya sarankan menentang itu, karena itu akan membuat tidak mungkin untuk mengubah default on-the-fly.
Sejauh yang saya tahu Magit tidak melacak "default" pilihan, tapi kita bisa membuat itu "press -v
" setiap kali buffer Melakukan muncul:
(advice-add #'magit-key-mode-popup-committing :after
(lambda ()
(magit-key-mode-toggle-option (quote committing) "--verbose")))
Untuk menemukan fungsi yang disarankan, saya membuka magic-status
buffer dan menekan C-h k c
. Ini membawa saya ke magit-key-mode-popup-committing
. Kemudian (dengan buffer Komit masih ditampilkan) saya menekan C-h k -v
untuk menemukan lambda
formulir panggilan Magit ketika Anda menekan -v
di jendela Komit.
Pembaruan: Saya memang menulis jawaban ini secara independen, tetapi lihat Dapatkah saya memiliki opsi git-log “--all” dipilih pada awalnya? , jawaban yang diberikan di sana, dan komentar untuk jawaban itu.
Di versi magit yang menggunakan transient (setelah Februari 2019 atau lebih), atur flag, dan kemudian simpan selagi masih dalam buffer transient.
Jadi untuk komit, urutan kuncinya adalah sesuatu seperti
C-x g # start magit
s # to stage changes
c # start commiting
-v # enable verbose
C-x C-s # Save the setting persistently across sessions
c # do the actual commit
Setelah itu, waktu berikutnya commit dipanggil, verbose masih akan ditetapkan. (Anda tidak harus menyelesaikan komit, dan dapat keluar setelah menyimpan dengan C-x C-s
.)
Default sebenarnya disimpan dalam transient/
direktori di .emacs.d/
.
Lihat manual sementara https://magit.vc/manual/transient.html#Saving-Values
Meskipun tidak persis seperti yang Anda inginkan (beda dalam buffer komit Anda), Anda dapat mengatur magit untuk memperluas perbedaan yang dipentaskan di jendela status :
(setq magit-expand-staged-on-commit 'full)
Alur kerja magit tampaknya selalu menjadi buffer status terbuka dan kemudian buka split dengan buffer komit, Anda selalu berakhir dengan dua buffer ditampilkan. Pengaturan di atas akan membuat buffer kedua (sebelumnya tidak berguna) menampilkan diff Anda.
Anda juga dapat menggunakan t
untuk hanya memperluas header yang berbeda (sehingga ini menunjukkan nomor baris):
(setq magit-expand-staged-on-commit t)
Saat menulis diff Anda, Anda dapat beralih ke buffer status dan gunakan TAB
untuk memperluas (atau melipat) diffs.
Atau, Anda dapat menggunakan C-c C-d
dari buffer komit untuk membuka buffer lain dengan diff magit-diff-staged
. (Lihat masalah ini .)
Pada magit
versi 2.1
, Anda dapat menggunakan ini di konfigurasi Anda:
;; When commiting enable verbose mode by default.
(setq magit-commit-arguments (quote ("--verbose")))
--no-verify
berguna ketika Anda memiliki proyek yang menggunakan kait git (gunakan dengan hati-hati, jelas).