Genel bir havuzdaki değişiklikleri özel bir yapıyla birleştirme
OSS
Sürüm 1.0'da bir sınıf içeren bir depoyu klonladığımı varsayalım A
. Sınıflara A
Ben kopyalamak böylece, benim için yeterli değildir A
için A'
ve ona bazı değişiklikler yapmak. Daha sonraki bir zamanda, güncellenmiş bir sürümünü içeren OSS
sürümde klonladım . Nasıl gelen değişiklikler / güncellemeler birleştirebilirsiniz benim değiştirilmiş kopyasına ? Bu tür durumlar için standart bir model var mı?1.1
A
A
A'
Yanıtlar
Fikir şudur:
yamayı kullanarak oluşturun git diff: A # 1.0 ile 1 # 1.0 arasında
git diff 1.0 1.1 -- A > a.patch
daha sonra patchyardımcı programı kullanarak bu yamayı uygulayın : diff'i uygulamak istediğiniz dosyayı belirtebilirsiniz
patch
.patch -p1 A' a.patch
Windows'ta, buradaki gibi basitleştirilmiş bir PATH kullanın ve yamanın mevcut olduğunu göreceksiniz:
C:\git\>where patch
C:\prgs\gits\current\usr\bin\patch.exe