Saya telah mencoba menggunakan diff
perintah linux di masa lalu tanpa banyak keberuntungan atau kesabaran. Saya biasanya berakhir menggunakan utilitas GUI seperti DiffMerge atau Kdiff.
Baru-baru ini saya mulai mencoba menggunakan diff
lagi untuk membandingkan file pada sistem jarak jauh melalui ssh, dan saya telah menemukan -y / --side-by-side
opsi untuk menjadi sangat berguna, tetapi saya masih merasa seperti saya tidak memanfaatkan utilitas ini sebaik-baiknya.
Jadi saya ingin tahu bagaimana mencapai hal-hal berikut:
- Sorot perubahan atau gunakan kode warna untuk membuat output lebih mudah dibaca
- Gabung - Pilih garis dengan perbedaan dan efek perubahan ke salah satu file
Juga, saya belum menemukan banyak contoh bagus saat googling, jadi jika Anda memiliki beberapa rahasia linux-fu untuk mendapatkan hasil maksimal dari diff, dapatkah Anda berbagi? Saya terutama akan membandingkan file konfigurasi berbasis teks tetapi trik dan tip akan sangat bagus.
For Reference - Utilitas DiffMerge dengan mudah menampilkan perubahan berdampingan dengan penyorotan warna. Ikon di bagian atas memungkinkan Anda untuk beralih di antara tampilan "tampilkan semua," "tampilkan perbedaan," dan "tampilkan perbedaan dengan konteks." Akan menyukai beberapa fungsi ini di command prompt.
ps: Saya juga harus mencatat bahwa satu opsi lain yang menurut saya cukup berguna adalah --suppress-common-lines
yang saya pelajari tentang posting blog yang ringkas dan mudah dibaca ini .
sumber
Jawaban:
Tanpa urutan tertentu:
meld
adalah program diff yang sangat bagus yang melakukan diff yang sangat bagus dan gabungan tiga arah.git config --global merge.conflictstyle diff3
membuat Anda menggabungkan output tiga arah untuk digunakan dengan alat-alat sepertimeld
.wdiff
apakah kata beda, sangat bagus jika diwarnai :wdiff -w "$(tput bold;tput setaf 1)" -x "$(tput sgr0)" -y "$(tput bold;tput setaf 2)" -z "$(tput sgr0)" ...
diff
output, saya biasanya menggunakan opsi--ignore-all-space
(-w
)diff-ignore-moved-lines
* melakukan apa yang tertulis di label.difff
* dapat digunakan untuk membedakan hanya garis yang cocok dengan bidang yang diberikan.* Penafian: Saya penulis, dan mengembangkan ini untuk membantu dengan CLI dan GUI yang berbeda dan menyatu.
sumber
diffuse
sedikit.Saya
vimdiff
merasa sangat berguna.sumber
Untuk mendapatkan pewarnaan dalam diff Anda harus melihat http://colordiff.sourceforge.net/ . Ini hanya pembungkus di sekitar diff dan, dengan demikian, semua opsi perintah masih berfungsi.
Jika Anda memiliki ubuntu cukup tulis:
Menjalankan risiko tidak memenuhi kasus penggunaan Anda,
git
adalah VCS yang sangat bagus yang terintegrasi dengan baik dengan banyak alat pembeda dan penggabungan (baik baris perintah maupun yang GUI). Cobalah jika itu pilihan.sumber
Mencoba
sdiff
diff
juga memiliki opsi (-e
atau-ed
) untuk membuat skrip gabungan untuk digunakan bersamaed
sdiff
,diff
daned
harus menjadi bagian dari cangkang Anda ke mana pun Anda pergi.Perangkat lunak kontrol versi Anda mungkin juga dilengkapi dengan
diff
danmerge
alat.sumber