Skip to main content

Cum se aplică un patch într-un fișier utilizând Linux

Calling All Cars: The 25th Stamp / The Incorrigible Youth / The Big Shot (Aprilie 2025)

Calling All Cars: The 25th Stamp / The Incorrigible Youth / The Big Shot (Aprilie 2025)
Anonim

Acest ghid oferă o imagine de ansamblu de bază pentru aplicarea unui patch la un program sau la un fișier.

Comanda utilizată pentru aplicarea patch-urilor este comanda patch-ului, dar pentru a aplica un patch, comanda diff trebuie de asemenea folosită pentru a furniza diferențele care trebuie să fie patch-uri.

De ce ați crea un patch

Imaginați-vă că ați avut un fișier HTML după cum urmează:

Site-ul meu

Bine ati venit la MySite

Sursa de mai sus, atunci când este încărcată într-un browser web, va afișa cuvintele "Bine ați venit la MySite".

Este obișnuită atunci când programați acolo că există mai multe versiuni ale aceluiași fișier. De exemplu, ar exista o versiune care este versiunea curentă live, ar exista o altă versiune pe ramura de dezvoltare care poate conține mai multe modificări, în cele din urmă ar putea exista o altă versiune pe o ramură de lansare.

Ramura de lansare ar fi versiunea utilizată de utilizatorii reali (adică în acest caz vizitatorii site-ului MySite). Să spunem că MySite este la versiunea 1.0. După o fază de dezvoltare, veți crea o ramură de lansare care ar fi în acest caz 1.1. Sucursala de dezvoltare va fi înaintea ramurii de lansare, deoarece poate conține modificări care nu sunt datorate pentru lansare în versiunea 1.2, dar vor fi pentru versiunea 1.1.

Imaginați-vă că a existat o eroare în care MySite ar trebui să fie numită YourSite. Ai putea merge la fiecare ramură și transforma versiunea live, versiunea de dezvoltare și versiunea de lansare ai putea face schimbarea ca o remediere rapidă în direct și apoi aplicați patch-ul pentru dezvoltarea și eliberarea ramurilor.

Un exemplu lucrat

Creați un fișier numit myfile.html cu următorul cod în el:

Site-ul meu

Bine ati venit la MySite

Acesta este un exemplu lucrat de codificare sursă.

Creați un alt fișier numit myfile_v2.html cu următorul cod în el:

Site-ul tău

Bine ați venit la YourSite

Acesta este un exemplu lucrat de codificare sursă.

Primul fișier este pagina web originală cu titlul "Bine ați venit la MySite". Al doilea fișier este același cu primul fișier, cu excepția faptului că MyFile este redenumit în textul YourFile.

Cum se creează fișierul Diff

Pentru a crea un patch, trebuie să analizăm diferențele dintre myfile.html și myfile_v2.html.

Putem face acest lucru cu comanda dif, după cum urmează:

diff -u myfile.html myfile_v2.html> myfile.patch

Puteți deschide fișierul myfile.patch în editorul nano după cum urmează pentru ao vizualiza:

nano myfile.patch

Liniile neschimbate sunt afișate în albastru. Liniile care au fost eliminate sunt afișate în roșu, iar liniile care au fost adăugate sunt afișate în verde.

Cum să aplicați patch-uri folosind comanda de patch-uri

Pentru a aplica patch-ul la myfile.html utilizați următoarea comandă:

patch <myfile.patch

Cum să reveniți la un patch

Aceasta va aplica modificările create folosind comanda diff în fișierul original myfile.html.

Dacă doriți să reveniți la patch-uri astfel încât myfile.html să revină la modul în care a fost inițial, utilizați următoarea comandă:

patch-R <myfile.patch

rezumat

Comanda patch-urilor poate fi folosită pentru a aplica patch-uri pe o structură de directoare întregă.

Există instrumente mult mai bune decât comanda de patch-uri pentru crearea de patch-uri și asigurarea unui bun control al sursei.

Există un motiv pentru care atât de multe proiecte de dezvoltare folosesc GIT pentru controlul surselor. GIT facilitează crearea unei strategii consecvente de ramificare.

Comanda patch-ului este ok pentru aplicarea diferențelor la un script bash sau ceva simplu, dar puteți crea la fel de ușor o copie de siguranță a fișierelor pe care doriți să le patchați și pur și simplu copiați fișierele noi în același loc.

Pentru mai multe informații, utilizați comanda om:

om patch