Pembaruan September 2015 (6 tahun kemudian)
The rilis terakhir dari git-untuk-windows (2.5.3) sekarang termasuk:
Dengan mengkonfigurasi git config core.editor notepad
, pengguna sekarang dapat menggunakan notepad.exe
sebagai editor default mereka .
Konfigurasi git config format.commitMessageColumns 72
akan diambil oleh pembungkus notepad dan membungkus baris komit setelah pengguna mengeditnya.
Lihat commit 69b301b oleh Johannes Schindelin ( dscho
) .
Dan Git 2.16 (Q1 2018) akan menampilkan pesan untuk memberi tahu pengguna bahwa ia menunggu pengguna untuk menyelesaikan pengeditan saat menelurkan editor, jika editor membuka ke jendela tersembunyi atau di suatu tempat yang tidak jelas dan pengguna tersesat.
Lihat komit abfb04d (07 Des 2017), dan komit a64f213 (29 Nov 2017) oleh Lars Schneider ( larsxschneider
) .
Dibantu-oleh: Junio C Hamano ( gitster
) .
(Digabung oleh Junio C Hamano - gitster
- dalam komit 0c69a13 , 19 Des 2017)
launch_editor()
: menunjukkan bahwa Git menunggu input pengguna
Ketika grafis GIT_EDITOR
dihasilkan oleh perintah Git yang membuka dan menunggu input pengguna (misalnya " git rebase -i
"), maka jendela editor mungkin dikaburkan oleh jendela lain.
Pengguna mungkin dibiarkan menatap ke jendela terminal Git yang asli tanpa menyadari bahwa ia perlu berinteraksi dengan jendela lain sebelum Git dapat melanjutkan. Untuk pengguna ini Git tampak menggantung.
Cetak pesan bahwa Git sedang menunggu input editor di terminal asli dan singkirkan ketika editor kembali, jika terminal mendukung menghapus baris terakhir
Jawaban asli
Saya baru saja mengujinya dengan git versi 1.6.2.msysgit.0.186.gf7512 dan Notepad ++ 5.3.1
Saya lebih suka tidak harus menetapkan variabel EDITOR, jadi saya mencoba:
git config --global core.editor "\"c:\Program Files\Notepad++\notepad++.exe\""
# or
git config --global core.editor "\"c:\Program Files\Notepad++\notepad++.exe\" %*"
Itu selalu memberi:
C:\prog\git>git config --global --edit
"c:\Program Files\Notepad++\notepad++.exe" %*: c:\Program Files\Notepad++\notepad++.exe: command not found
error: There was a problem with the editor '"c:\Program Files\Notepad++\notepad++.exe" %*'.
Jika saya mendefinisikan npp.bat termasuk:
"c:\Program Files\Notepad++\notepad++.exe" %*
dan saya mengetik:
C:\prog\git>git config --global core.editor C:\prog\git\npp.bat
Itu hanya bekerja dari sesi DOS, tetapi tidak dari shell git .
(bukan dengan mekanisme konfigurasi core.editor, skrip dengan " start /WAIT...
" di dalamnya tidak akan berfungsi, tetapi hanya membuka jendela DOS baru)
Jawaban Bennett menyebutkan kemungkinan untuk menghindari menambahkan skrip, tetapi untuk merujuk langsung program itu sendiri di antara kutipan sederhana . Perhatikan arah garis miring! Gunakan /
BUKAN \
untuk memisahkan folder dalam nama jalur!
git config --global core.editor \
"'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Atau jika Anda berada di sistem 64 bit:
git config --global core.editor \
"'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Tapi saya lebih suka menggunakan skrip (lihat di bawah): dengan begitu saya bisa bermain dengan jalur yang berbeda atau opsi yang berbeda tanpa harus mendaftar lagi a git config
.
Solusi aktual (dengan skrip) adalah untuk menyadari bahwa:
apa yang Anda rujuk dalam file konfigurasi sebenarnya adalah /bin/sh
skrip shell ( ) , bukan skrip DOS.
Jadi apa yang berhasil adalah:
C:\prog\git>git config --global core.editor C:/prog/git/npp.bat
dengan C:/prog/git/npp.bat
:
#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst "$*"
atau
#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"
Dengan pengaturan itu, saya dapat melakukan ' git config --global --edit
' dari DOS atau Git Shell, atau saya dapat melakukan ' git rebase -i ...
' dari DOS atau Git Shell.
Perintah bot akan memicu instance baru notepad ++ (karenanya -multiInst
opsi '), dan menunggu instance itu ditutup sebelum melanjutkan.
Perhatikan bahwa saya hanya menggunakan '/', bukan \
'. Dan saya menginstal msysgit menggunakan opsi 2. (Tambahkan git\bin
direktori ke PATH
variabel lingkungan, tetapi tanpa mengesampingkan beberapa alat windows built-in)
Fakta bahwa pembungkus notepad ++ disebut .bat tidak penting.
Akan lebih baik untuk menamainya 'npp.sh' dan memasukkannya ke [git]\cmd
direktori (atau di direktori mana pun yang dirujuk oleh variabel lingkungan PATH Anda).
Lihat juga:
lightfire228 menambahkan dalam komentar :
Bagi siapa pun yang memiliki masalah ketika N ++ hanya membuka file kosong, dan git tidak menerima pesan komit Anda, lihat " Membatalkan komit karena pesan kosong ": ubah file Anda .bat
atau .sh
katakan:
"<path-to-n++" .git/COMMIT_EDITMSG -<arguments>.
Itu akan memberitahu notepad ++ untuk membuka file temp commit, daripada yang baru kosong.