Dit gids biedt in basis oersicht foar it tapassen fan in patch nei in programma of bestân.
It kommando dat brûkt wurdt by it tapassen fan patches is it patchbehearder mar om om in patch oan te passen is it diff-kommando ek brûkt om de ferskillen te ferfangen dy't nedich wêze moatte.
Wêrom wolle jo in patje oanmeitsje
Stel dan dat jo in HTML-triem hawwe as:
head>
Wolkom nei MySite h1>
body>
html>
De boppeste boarne as jo yn in webbrowser lade sil de wurden "Wolkom by MySite" sjen litte.
It is gewoan as programmearjen foar dêryn ferskate ferzjes fan deselde bestân. Foarbyld soe der dan ien ferzje wêze dy't de aktuele live ferzje is, dan soe in oare ferzje wêze oer de ûntwikkeling, dy't meardere feroaringen befetsje kin, úteinlik kin der in oare ferzje wêze op in frijlieder.
De frijloftsjinst soe de ferzje wurde brûkt troch echte brûkers (dus yn dit gefal besikers fan de webside fan MySite). Lit ús sizze dat MySite by ferzje 1.0 is. Nei in ûntwikkelingsfaze meitsje jo in releasetafel dy't yn dit gefal 1.1 wêze soe. De ûntwikkelingsdiel kin foarôfgean fan 'e útlizzende ôfdieling wêze omdat it feroarings befetsje dy't net foar frijlitting yn ferzje 1.2 foarkomme, mar sil foar ferzje 1.1 wêze.
Stel dan dat in brek wie wêrom MySite jo YourSite hjit. Jo kinne elke ôfdieling trochgean en feroaringen yn 'e libbensferzje, ûntwikkelingsferzje en frijlittingferzje fan jo kinne de wiziging as in heule pleat yn libje en it patch oan de ûntwikkelings- en frijloftsjinsten tapasse.
In wurktaal foarbyld
Meitsje in triem mei de namme myfile.html mei de folgjende koade yn it:
head>
Wolkom nei MySite h1>
Dit is in arbeide foarbyld fan in boarne koade. p>
body>
html>
Meitsje in oare triem mei de namme myfile_v2.html mei de folgjende koade yn it:
head>
Wolkom nei joSite h1>
Dit is in arbeide foarbyld fan in boarne koade. p>
body>
html>
De earste bestân is de oarspronklike webside mei de titel "Wolkom by MySite". De twadde bestân is itselde as de earste triem, útsein MyFile is omneamd nei YourFile yn 'e tekst.
Hoe meitsje de Diff-triem oan
Om in patch te meitsjen moatte wy de ferskillen tusken myfile.html en myfile_v2.html útfiere.
Wy kinne dit dwaan mei de diff kommando as folgjend:
diff -u myfile.html myfile_v2.html> myfile.patch
Jo kinne de myfile.patch-triem yn ' e nano-editor opnij iepenje om it te besjen:
nano myfile.patch
Linen dy't net wizige binne blêd. Linen dy't fuortsmiten binne werjûn yn read en linen dy't tafoege binne wurde yn grien werjûn.
Hoe jo it patch brûke mei it patchkommando
Om it patch oan te meitsjen oan myfile.html kinne jo it folgjende kommando brûke:
patch Dit sil de feroaringen tapast wurde mei it diff-kommando nei de orizjinele triem myfile.html. As jo it patch ferfiere wolle dat mynfile.html werom is op 'e manier dat it oarspronklik it folgjende kommando brûkte: patch -R It patchbehearder kin brûkt wurde om tapassingen yn in hiele triemtafelstruktuer te tapassen. Der binne fier better ark as it patchbehearder foar it meitsjen fan patchjes en it soargjen fan goede boarne kontrôle. Der is in reden dat safolle ûntwikkelingsprojekten GIT brûke foar boarnenkontrôle. GIT makket it maklik om in konsekwint wikseljende strategy te meitsjen. It kommando-patch is ok foar tapassing fan ferskillen nei in bash-skript of wat ienfâldich, mar jo kinne krekt sa maklik in reservekopy fan 'e bestannen meitsje dy't jo wolle dat jo de nije bestannen op itselde plak pleatse en ienfâldich kopiearje. Foar mear ynformaasje brûke de man kommando: man patch Hoe kinne jo in patje werjaan?
Gearfetting