Saya menggunakan msysgit 1.7.7.1 di Windows. Saya mendapatkan kesalahan saat menggunakan git diff
. Apa penyebabnya? Apakah tidak ada alat diff yang disertakan dalam msysgit? Apa yang harus saya lakukan?
PERINGATAN: terminal tidak berfungsi penuh
Saya menggunakan msysgit 1.7.7.1 di Windows. Saya mendapatkan kesalahan saat menggunakan git diff
. Apa penyebabnya? Apakah tidak ada alat diff yang disertakan dalam msysgit? Apa yang harus saya lakukan?
PERINGATAN: terminal tidak berfungsi penuh
Jawaban:
Untuk Git Bash, ini bisa diperbaiki dengan menambahkan baris berikut ke ~ / .bashrc:
export TERM=cygwin
-atau-
export TERM=msys
Yang pertama tampaknya asli oleh git untuk windows, yang kedua adalah bentuk yang dikenal populer untuk "menyembuhkan" juga.
Masalah dapat disebabkan jika beberapa program lain (seperti misalnya Strawberry Perl ) menetapkan TERM
variabel lingkungan sistem.
setx TERM msys
. SETX
(bukan hanya SET) menulis variabel env ke registri.
Jika Anda mengalami masalah dalam cmd.exe, misalnya, lihat peringatan di sini:
Kemudian atur variabel lingkungan Anda dan sertakan TERM = msys. Setelah itu, setiap kali Anda membuka cmd.exe, variabel Anda akan disetel dengan benar.
SEKARANG ANDA HARUS MEMULAI ULANG SHELL (CMD.EXE). Jalankan saja yang baru. Dan dari sana, Anda seharusnya tidak memiliki masalah lagi. Lagi:
Jawaban di atas tidak sepenuhnya berhasil untuk saya, jadi saya lakukan: Tambahkan
export TERM=msys
ke " [githome] / etc / profile " di bagian atas tetapi hanya membuat perubahan untuk git bash. Lalu saya menambahkan
@set TERM=msys
ke " [githome] /cmd/git.cmd " setelah @setlocal (Saya hanya menginstal git yang dijalankan dari baris perintah). Mungkin keputusan ini tidak benar-benar bagus tetapi berhasil untuk saya dan tidak ada peringatan terminal. (Saya menggunakan git versi 1.7.10.msysgit.1).
Jawabannya dapat ditemukan di sini , di mana penulis solusi mengklaim bahwa:
variabel lingkungan
TERM
ditetapkan kedumb
itu bukan
TERM=cygwin
Anda dapat mengubahnya menjadi
TERM=msys
untuk memecahkan masalah yang dihadapi.
Saya bekerja di PowerShell dan saya memiliki git yang dapat dieksekusi langsung di jalur saya.
Tidak satu pun dari jawaban yang disarankan berhasil, tetapi saya menemukan solusi yang berhasil untuk saya.
Saya menambahkan garis di profil PowerShell saya:
$env:TERM="msys"
Yang memperbaiki masalah saya.
Solusi cepat & kotor dalam kasus saya ternyata menggunakan --no-pager
opsi.
Secara default, beberapa perintah git (like log
) akan menggunakan pager seperti less
jika mereka mengharapkan keluaran yang panjang. Pager memerlukan hal-hal seperti menggulir teks ke atas dan ke bawah dengan tombol panah, yang terkadang tidak berfungsi jika asumsi tentang jenis terminal yang Anda gunakan salah (inilah yang dimaksud dengan "tidak berfungsi penuh").
Jika Anda mengetahui sebelumnya bahwa output Anda akan pendek, atau Anda hanya ingin membuang output ke terminal dan membiarkan program menggulir ke atas ke program terminal Anda, Anda dapat menimpa ini dan tidak menggunakan pager sama sekali, misalnya:
git --no-pager log
Jika seseorang mendapatkan bash peluncuran ini dari Ekstensi Git, periksa pengaturan untuk Path to linux tools...
. Punyaku diatur ke C:\cygwin
. Mengubahnya menjadi C:\Program Files (x86)\Git\bin\
memperbaikinya untuk saya. Saya tidak perlu menyetel variabel TERM untuk meluncurkan bash dengan cara ini.