Menggabungkan perubahan dari repositori publik menjadi build pribadi

Aug 19 2020

Asumsikan saya mengkloning repositori OSSpada versi 1.0 yang berisi kelas A. Subclassing Atidak cukup bagi saya, jadi saya copy Auntuk A'dan membuat beberapa modifikasi untuk itu. Di lain waktu, saya mengkloning OSSpada versi 1.1, yang berisi versi yang diperbarui dari A. Bagaimana cara menggabungkan perubahan / pembaruan dari Ake salinan saya yang telah dimodifikasi A'? Apakah ada pola standar untuk kasus seperti itu?

Jawaban

6 VonC Aug 21 2020 at 22:21

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