Bagaimana cara membuat tambalan yang cocok untuk ditinjau dalam wadah?
git diff branch master --no-prefix > patch
Ini hanya menghasilkan 3 baris konteks. Jadi saya melakukan hal berikut
git diff --unified=2000 branch master --no-prefix > patch
Semoga semua file memiliki kurang dari 2000 baris. Apakah ada cara untuk memberi tahu git agar menyertakan semua baris di file untuk patch tanpa harus menentukan baris maksimum?
Jawaban:
Saya tahu ini sudah lama, tetapi saya juga tidak menyukai solusi hard-code, jadi saya menguji ini:
Menggunakan -U tampaknya menjadi satu-satunya cara untuk mengatasi masalah, tetapi menggunakan jumlah baris menjanjikan bahwa ini akan berfungsi bahkan untuk perubahan kecil dalam file yang sangat besar.
sumber
<
tidak perlu.git diff -U$(wc -l MYFILE) MYFILE
git diff -U$(wc -l MYFILE | awk '{print $1}') MYFILE
adalah jawaban yang lebih baik yang mengurai outputwc
dengan benar dengan hanya mendapatkan jumlah baris tanpa spasi, tidak bergantung pada output subkulit yang tidak dikutip untuk membuat dua argumen, dan berfungsi pada macOS / BSD.Ini sepertinya bekerja dengan cukup baik:
Dengan peringatan:
sumber
-U
pilihan Anda sarankan adalah sama dengan--unified=
pilihan yang digunakan oleh penanya. Satu-satunya perbedaan adalah Anda menentukan lebih sedikit baris konteks, 1000, daripada penanya yang digunakan, 2000. @balki ingin tahu bagaimana cara meningkatkan angka hingga tak terbatas, namun Anda menyarankan untuk memotong angka menjadi dua. Mengapa?git show
!--no-prefix
pilihan menghilangkan awalan “/ a /” dan “/ b /” tujuan yang muncul secara default. (halaman tertaut)Catatan: git1.8.1rc1 announce (8 Desember 2012) meliputi:
sehingga bisa membantu, di sini, menghasilkan konteks yang lebih lengkap.
sumber
Mendapat inspirasi dan jadi saya menambahkan alias git.
Memperbarui:
Baru saja ditemukan "git df" terkadang tidak berfungsi, karena direktori berubah saat menjalankan alias git. (Lihat alias git beroperasi di direktori yang salah ). Jadi ini adalah versi yang diperbarui:
sumber
Ini berfungsi untuk saya di macOS:
lihat "Bagaimana cara memangkas spasi dari variabel Bash?"
sumber
Sebelumnya diterima solusi tidak bekerja untuk saya saat melihat spesifik file / komit (yang
-U
pilihan tampaknya berantakan dengan rev / path parsing), tapi--inter-hunk-context=
karya-karya dalam hal ini digit version 2.24.0
:Jika Anda tidak mengetahui ukuran file, tentu saja Anda dapat menemukannya dengan
wc -l
alih - alih melakukan hard-coding:sumber