Mengenai pemformatan kode saya agak murni :). Saya sangat sering menghilangkan spasi putih yang tidak perlu (garis dengan hanya ws, ws di akhir baris dll). Saya bahkan telah mengatur vim untuk menunjukkan garis-garis semacam itu yang diwarnai merah.
Masalah saya adalah bahwa menggunakan git-diff saya sering melihat sesuatu seperti ini:
- else{
+ else{
Bahkan jika saya memiliki git-diff berwarna saya tidak dapat melihat perbedaan (dalam situasi tertentu saya menghapus 1 ws di akhir baris). Apakah ada cara untuk memberitahu git-diff untuk menunjukkan bahwa kita diwarnai merah? (misalnya yang cocok dengan / \ s + $ / regexp).
git
colors
diff
whitespace
radarek
sumber
sumber
Jawaban:
Anda mungkin perlu mengatur pengaturan konfigurasi color.diff.whitespace, misalnya dengan:
(Saya berasumsi bahwa Anda sudah memiliki
color.diff
ataucolor.ui
mengaturauto
sejak Anda mengatakan bahwa Anda melihat tambalan berwarna darigit diff
tetap.)Jika Anda ingin memperbaiki jenis kesalahan spasi putih yang disorot dalam warna merah, Anda kemudian dapat mengubah
core.whitespace
, tetapiblank-at-eol
diaktifkan secara default sehingga Anda mungkin tidak perlu mengubahnya untuk contoh yang Anda sebutkan.Sumber kebingungan yang mungkin adalah bahwa dalam output
git diff
, kesalahan spasi putih hanya disorot pada baris yang diperkenalkan, bukan yang dihapus. ( Pembaruan: seperti yang ditunjukkan Paul Whittaker dalam jawabannya , yang harus Anda pilih :), Anda dapat melihatnya dengan membalikkan arti dari diffgit diff -R
.)Anda dapat menemukan lebih banyak dokumentasi tentang opsi-opsi konfigurasi ini di halaman manual git config
Jika Anda tidak ingin menggunakan
-R
kludge, Anda dapat menggunakan opsi Sorotan Kesalahan WhiteSpace dari halaman manual yang berbeda .git diff --ws-error-highlight=new,old <file>
atau
git diff --ws-error-highlight=all <file>
Saya tidak tahu cara untuk mengaktifkannya secara permanen dan menyimpannya di konfigurasi selain menggunakan alias:
git config alias.df 'diff --ws-error-highlight=all'
Sekarang Anda dapat menggunakan:
git df <file>
Untuk melihat perubahan warna merah.
Perhatikan bahwa dengan Git 2.11 (Q4 2016) , alias ini mungkin diganti dengan:
Lihat dokumen terus
git diff
dan terusgit config
.sumber
git diff -R
git config diff.wsErrorHighlight all
. Gunakangit config --global [...]
untuk membuat perubahan global (yaitu mempengaruhi semua repo).Gunakan
git diff -R
untuk mengubah garis yang dihapus menjadi garis yang ditambahkan. Kemudian spasi spasi tambahan akan disorot.(Ini mengasumsikan Anda sudah mengaktifkan hightlighting spasi putih, sesuai pengaturan warna dari jawaban Markus. Kredit untuk metode ini masuk ke pos Junio di http://git.661346.n2.nabble.com/Highlighting-whitespace-on-removal- dengan-git-diff-td5653205.html .)
Sebagai contoh, ketika mengkonversi file dari akhir baris DOS ke Unix,
git diff -R
jelas menunjukkan kepada saya^M
karakter (dis) muncul di ujung baris. Tanpa-R
(dan juga tanpa-w
dll.) Itu menunjukkan bahwa seluruh file telah berubah, tetapi tidak menunjukkan caranya.sumber
git diff | cat -A | less -S
jika Anda putus asa, tetapi selain pengembalian carriage, iacat
juga akan menampilkan warna apa pun yang menyoroti kode pelarian secara harfiah.cat -A
tidak portabel. Pada kucing BSD, tidak ada opsi seperti itu. Silakan gunakancat -vet
sebagai gantinya.Gunakan
git diff --color | less -R
. Itu-R
membuat kode kontrol warna ramah manusia.Kemudian Anda dapat menggunakan
less
pencarian ekspresi reguler, missumber
vim
, omong-omong.less -R
hanya membuat lebih mudah bagi saya untuk pipals --color
melaluiless
.Versi saya
git diff
sudah sepertinya melakukan ini - Saya punya git 1.7.4.1 dan telah ditetapkancolor.ui = auto
.sumber