Saya tidak melihat perbedaan antara keluaran 'git format-patch' dan 'git diff', apakah ada? Dan tidakkah saya bisa menggunakan 'git diff' untuk menghasilkan tambalan dan kemudian menerapkannya menggunakan git apply?
Masalah saya adalah saya memiliki perubahan yang ditambahkan ke indeks, tetapi tampaknya git format-patch hanya menerima komit, jadi jika saya dapat menggunakan output dari diff, maka saya dapat menggunakan perintah ini untuk menghasilkan tambalan untuk perubahan dalam indeks:
git diff --cached > index.patch
File patch dapat dibuat dengan
git diff
perintah, tetapi dibandingkan dengan patch yang dihasilkan olehgit format-patch
perintah, perbedaan utamanya adalah:Untuk menghasilkan file patch untuk semua file yang diubah (di indeks atau direktori kerja):
git diff HEAD --binary > my.patch # git diff + git diff --cached/staged == git diff HEAD
Untuk menerapkan file tambalan yang dihasilkan:
# restore the changed files firstly git restore --staged . git restore . # apply the patch to redo the changes git apply my.patch # or patch -p1 < my.patch
sumber