Menggabungkan perubahan dari repositori publik menjadi build pribadi
Asumsikan saya mengkloning repositori OSS
pada versi 1.0 yang berisi kelas A
. Subclassing A
tidak cukup bagi saya, jadi saya copy A
untuk A'
dan membuat beberapa modifikasi untuk itu. Di lain waktu, saya mengkloning OSS
pada versi 1.1
, yang berisi versi yang diperbarui dari A
. Bagaimana cara menggabungkan perubahan / pembaruan dari A
ke salinan saya yang telah dimodifikasi A'
? Apakah ada pola standar untuk kasus seperti itu?
Jawaban
Idenya adalah untuk:
buat tambalan menggunakan git diff: antara A # 1.0 dan 1 # 1.0
git diff 1.0 1.1 -- A > a.patch
kemudian terapkan tambalan itu menggunakan patchutilitas: Anda dapat menentukan file yang ingin Anda terapkan diff dengan
patch
.patch -p1 A' a.patch
Di Windows, gunakan PATH yang disederhanakan seperti di sini , dan Anda akan melihat patch tersedia:
C:\git\>where patch
C:\prgs\gits\current\usr\bin\patch.exe