การรวมการเปลี่ยนแปลงจากที่เก็บสาธารณะเข้ากับโครงสร้างส่วนตัว
Aug 19 2020
สมมติผมโคลนพื้นที่เก็บข้อมูลOSS
ที่รุ่น 1.0 A
มีชั้นเรียน subclassing A
ไม่พอสำหรับฉันดังนั้นฉันจะคัดลอกA
ไปA'
และทำการแก้ไขบางส่วนไป ในเวลาต่อมาฉันโคลนOSS
ที่เวอร์ชัน1.1
ซึ่งมีเวอร์ชันที่อัปเดตของA
. ฉันจะรวมการเปลี่ยนแปลง / อัปเดตจากA
เป็นสำเนาที่แก้ไขได้A'
อย่างไร มีรูปแบบมาตรฐานสำหรับกรณีดังกล่าวหรือไม่?
คำตอบ
6 VonC Aug 21 2020 at 22:21
แนวคิดคือ:
สร้างโปรแกรมแก้ไขโดยใช้git diff: ระหว่าง A # 1.0 และ 1 # 1.0
git diff 1.0 1.1 -- A > a.patch
จากนั้นใช้โปรแกรมแก้ไขนั้นโดยใช้patchยูทิลิตี้: คุณสามารถระบุไฟล์ที่คุณต้องการใช้ความแตกต่าง
patch
ได้patch -p1 A' a.patch
ใน Windows ให้ใช้PATH แบบง่ายดังที่นี่และคุณจะเห็นโปรแกรมแก้ไขที่พร้อมใช้งาน
C:\git\>where patch
C:\prgs\gits\current\usr\bin\patch.exe