Mulai dengan git
v1.7.11, Anda dapat menggunakangit difftool --dir-diff
untuk melakukan diff direktori.
Fitur ini berfungsi baik dengan Meld 3.14.2 misalnya, dan memungkinkan Anda menjelajahi semua file yang dimodifikasi:
git difftool --dir-diff --tool=meld HEAD~ HEAD
Ini adalah fungsi Bash yang berguna:
git-diff-meld() (
git difftool --dir-diff --tool=meld "${1:-HEAD~}" "${2:-HEAD}"
)
Jawaban berikut ini berlaku untuk git
instalasi yang lebih lama dari v1.7.11.
Pertanyaan yang sama ditanyakan pada daftar mail git .
Saya mengumpulkan skrip shell berdasarkan utas email yang melakukan direktori berbeda antara komit sewenang-wenang.
Dimulai dengan git v1.7.10, git-diffall
skrip disertakan dalamcontrib
instalasi standar git.
Untuk versi sebelum v1.7.10, Anda dapat menginstal dari git-diffall
proyek di GitHub .
Berikut ini deskripsi proyeknya:
Script git-diffall menyediakan mekanisme diff berbasis direktori untuk git. Skrip bergantung pada opsi konfigurasi diff.tool untuk menentukan apa yang digunakan penampil dif.
Skrip ini kompatibel dengan semua formulir yang digunakan untuk menentukan rentang revisi yang berbeda:
1) git diffall
: menunjukkan perbedaan antara pohon yang bekerja dan perubahan yang dipentaskan
2) git diffall --cached [<commit>]
: menunjukkan perbedaan antara perubahan yang dipentaskan dan HEAD
(atau komit bernama lainnya)
3) git diffall <commit>
: menunjukkan perbedaan antara pohon yang bekerja dan komit yang disebut
4) git diffall <commit> <commit>
: menunjukkan perbedaan antara dua komit yang disebut
5) git diffall <commit>..<commit>
: sama seperti di atas
6) git diffall <commit>...<commit>
: menunjukkan perubahan pada cabang yang mengandung dan sampai yang kedua, mulai dari nenek moyang yang sama dari keduanya<commit>
Catatan: semua formulir menggunakan pembatas jalur opsional [--] [<path>]
Skrip ini didasarkan pada contoh yang diberikan oleh Thomas Rast pada daftar Git .