Secara default git diff
mencetak semua +-
baris ke stdout namun saya memiliki mesin (devian) (yang saya hubungkan melalui ssh) di mana git diff
membawa saya ke editor (yang saya tidak tahu yang mana) dan saya perlu menekan quntuk melanjutkan.
Saya sudah checker git config dan sepertinya:
$ git config --list
user.name=XXX
user.email=XXX@XXX
color.ui=false
difftool.prompt=false
mergetool.prompt=false
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=XXX
branch.master.remote=origin
branch.master.merge=refs/heads/master
$ git config --global --list
user.name=XXX
user.email=XXX@XXX
color.ui=false
difftool.prompt=false
mergetool.prompt=false
$ git config --system --list
'/etc/gitconfig': No such file or directory
Apakah ada tempat yang saya lewatkan? Mungkin alat yang tidak dikenal adalah fallback atau sesuatu karena saya mesin saya kehilangan sesuatu? Setiap bantuan dihargai. Terima kasih.
Jawaban:
Secara default, Git mengirim output diff-nya (dan umumnya setiap output yang mungkin lebih dari screenful) untuk sistem pager , yang merupakan utilitas yang mencetak hanya satu screenful output pada suatu waktu. Jika Anda ingin menonaktifkan pager saat Anda menjalankan perintah, teruskan
--no-pager
ke Git:Ini dapat dijalankan untuk perintah Git apa pun.
Jika Anda ingin menonaktifkannya secara default hanya untuk diff , Anda dapat mengatur halaman diff ke
cat
dengan menjalankan:Jika Anda ingin menonaktifkannya secara default untuk semua perintah , Anda dapat menyetel halaman Git ke
cat
dengan menjalankan:sumber
git config --global core.pager cat
melakukannya!. Terima kasih :)git
( bukan subperintah)?git branch
, misalnyagit config pager.branch false
Nilai berikut
core.pager
menggunakanless
, yang mencetak ke stdout, dan juga memiliki fungsionalitas halaman (jika diperlukan), memungkinkan pengguliran ke atas dan ke bawah (tidak seperticat
):Ini segera berhenti jika diff cocok dengan layar pertama (
-F
), mengeluarkan karakter kontrol mentah (-R
), memotong garis panjang daripada membungkus (-S
), dan tidak menggunakan termcap init / deinit strings (-X
).sumber
Anda juga dapat menggunakan perintah
cat
apa pungit
jika Anda tidak peduli dengan warnanya.Jadi
git diff | cat
untuk kasusmu.Edit: seperti yang ditunjukkan di komentar jika Anda benar-benar peduli dengan warna, gunakan:
git diff --color | cat
sumber
git diff --color | cat
(: