Bu kılavuz, bir program veya dosyaya yama uygulamak için temel bir bakış sağlar.
Yamaların uygulanması için kullanılan komut, yama komutudur, ancak bir yama uygulamak için, yamanın gerekmesi gereken farklılıkları sağlamak için diff komutunun da kullanılması gerekir.
Neden Bir Yama Oluştururdunuz?
Aşağıdaki gibi bir HTML dosyanız olduğunu düşünün:
Head>
Sitemize Hoş Geldiniz h1>
Body>
Html>
Bir web tarayıcısına yüklendiğinde yukarıdaki kaynak "MySite'a Hoş Geldiniz" kelimelerini gösterecektir.
Aynı dosyanın birden çok sürümü için programlama yaparken yaygındır. Örneğin, mevcut canlı sürüm olan bir sürüm olacak, geliştirme dalında birden fazla değişiklik içerebilecek başka bir sürüm olacak, bir sürüm şubesinde başka bir versiyon olabilir.
Serbest bırakma şubesi, gerçek kullanıcılar tarafından kullanılan sürüm olacaktır (yani bu durumda MySite web sitesini ziyaret edenler). MySite'in 1.0 sürümünde olduğunu söyleyelim. Bir geliştirme aşamasından sonra, bu durumda olacak bir serbest bırakma dalı yaratabilirsiniz. 1.1. Geliştirme şubesi, sürüm 1.2'deki sürümde bulunmayacak değişiklikler içerebilecek, ancak sürüm 1.1 için olabilecek değişiklikler içereceğinden, yayınlama dalının önünde olabilir.
MySite'in YourSite çağrılması gereken bir hata olduğunu hayal edin. Sırayla her bir şubeye gidebilir ve canlı versiyonda değişiklik yapabilir, geliştirme versiyonunu ve sürümünüzü yayınlayabilirsiniz. Değişiklikleri canlı bir düzeltme olarak yapabilir ve daha sonra yamayu geliştirme ve serbest bırakma dallarına uygulayabilirsiniz.
Çalışan bir örnek
Aşağıdaki kod ile myfile.html adlı bir dosya oluşturun:
Head>
Sitemize Hoş Geldiniz h1>
Bu, yama kaynak kodunun çalışılmış bir örneğidir. p>
Body>
Html>
Aşağıdaki kod ile myfile_v2.html adlı başka bir dosya oluşturun:
Head>
Sitene Hoş Geldiniz h1>
Bu, yama kaynak kodunun çalışılmış bir örneğidir. p>
Body>
Html>
İlk dosya, "MySite'a Hoş Geldiniz" başlıklı orijinal web sayfasıdır. İkinci dosya, MyFile metin içinde YourFile olarak yeniden adlandırılan ilk dosyayla aynıdır.
Diff Dosyası Nasıl Oluşturulur
Bir yama oluşturmak için myfile.html ve myfile_v2.html arasındaki farkları bulmamız gerekiyor.
Bunu aşağıdaki gibi diff komutuyla yapabiliriz:
diff -u myfile.html myfile_v2.html> myfile.patch
Görmek için myfile.patch dosyasını nano düzenleyicide aşağıdaki gibi açabilirsiniz:
nano myfile.patch
Değişmeyen hatlar mavi olarak gösterilir. Kaldırılan çizgiler kırmızı olarak gösterilir ve eklenen satırlar yeşil renkle gösterilir.
Yama Komutunu Kullanarak Yama Nasıl Uygulanır
Yamayı myfile.html dosyasına uygulamak için aşağıdaki komutu kullanın:
yama Bu, diff komutu kullanılarak oluşturulan değişiklikleri myfile.html orijinal dosyasına uygulayacaktır. Düzeltmeyi geri yüklemek isterseniz, myfile.html özgün olarak aşağıdaki komutu kullanın: patch -R Yama komutu, tüm dizin yapısı boyunca yamaları uygulamak için kullanılabilir. Yama oluşturmak ve iyi kaynak kontrolü sağlamak için yama komutundan çok daha iyi araçlar vardır. Pek çok geliştirme projesinin GIT'i kaynak kontrolü için kullanmasının bir nedeni var. GIT tutarlı bir dallanma stratejisi oluşturmayı kolaylaştırır. Yama komutu, bir bash komut dosyasına veya basit bir şeye farklılıklar uygulamak için uygun bir yöntemdir, ancak kolayca yama yapmak istediğiniz dosyaların yedek kopyasını oluşturabilir ve yeni dosyaları aynı yere kopyalayabilirsiniz. Daha fazla bilgi için man komutunu kullanın: adam yama Yama Nasıl Geri Dönülür?
özet