Terkadang ada beberapa file yang diubah bersama dengan beberapa file baru, yang dihapus dan / atau diganti nama. Ketika melakukan git diff
atau git-log
saya ingin menghilangkannya, jadi saya bisa lebih baik melihat modifikasi.
Sebenarnya, mendaftarkan nama-nama file baru dan yang dihapus tanpa konten mereka adalah yang terbaik. Untuk "lama" diganti nama menjadi "baru" Saya ingin secara opsional mendapatkan perbedaan antara "lama" dan "baru".
git log
ini akan menyebabkannya mengabaikan komit yang hanya menambah dan / atau menghapus file.--diff-filter=!D
Also, these upper-case letters can be downcased to exclude. E.g. --diff-filter=ad excludes added and deleted paths.
Contoh: hanya tampilkan yang ditambahkan, diubah, file yang dimodifikasi, tidak termasuk file yang dihapus:
sumber
UPDATE: The diterima Jawaban oleh Charles Bailey adalah yang benar; fungsi yang diinginkan sudah ada di git.
Saya akan meninggalkan jawaban ini di sini karena mungkin memberikan ide untuk hal-hal yang tidak dibangun menjadi git.
git diff
menampilkan file baru dan yang dihapus dengan membandingkannya/dev/null
. Seharusnya tidak terlalu sulit untuk menulis sesuatu (saya akan menggunakan Perl sendiri) yang mencari/dev/null
dan menyaring baris-baris berikut hingga perbedaan berikutnya. Lalugit diff ... | the-filter
.File berganti nama adalah masalah yang berbeda; Saya belum (punya) jawaban yang bagus untuk itu.
sumber
... | less
secara eksplisit.) Anda mungkin melihatless
's-E
atau-F
pilihan (meskipun pada sistem saya tidak membiarkan saya melihat output).