Dieses Handbuch bietet eine grundlegende Übersicht zum Anwenden eines Patches auf ein Programm oder eine Datei.
Der Befehl, der zum Anwenden von Patches verwendet wird, ist der Patch-Befehl. Um einen Patch anwenden zu können, muss jedoch auch der Befehl diff verwendet werden, um die Unterschiede anzugeben, die gepatcht werden müssen.
Warum sollten Sie einen Patch erstellen?
Stellen Sie sich vor, Sie hätten eine HTML-Datei wie folgt:
Willkommen bei MySite
Wenn die oben genannte Quelle in einen Webbrowser geladen wird, werden die Wörter "Willkommen bei MySite" angezeigt.
Bei der Programmierung ist es üblich, dass mehrere Versionen derselben Datei vorhanden sind. Zum Beispiel würde es eine Version geben, die die aktuelle Live-Version ist, es würde eine andere Version auf dem Entwicklungszweig geben, die mehrere Änderungen enthalten kann, schließlich kann es eine andere Version auf einem Release-Zweig geben.
Der Release-Zweig ist die Version, die von echten Benutzern verwendet wird (d. H. Besucher der MySite-Website). Sagen wir, dass MySite Version 1.0 ist. Nach einer Entwicklungsphase erstellen Sie einen Release-Zweig, der in diesem Fall 1.1 wäre. Der Entwicklungszweig liegt vor dem Veröffentlichungszweig, da er möglicherweise Änderungen enthält, die in Version 1.2 nicht zur Veröffentlichung fällig sind, jedoch für Version 1.1 gelten.
Stellen Sie sich vor, es gab einen Fehler, bei dem MySite YourSite genannt werden sollte. Sie können zu jedem Zweig der Reihe nach wechseln und Änderungen an der Live-Version, Entwicklungsversion und Release-Version vornehmen. Sie können die Änderung als Hotfix live vornehmen und dann den Patch auf die Entwicklungs- und Release-Zweige anwenden.
Ein funktionierendes Beispiel
Erstellen Sie eine Datei namens myfile.html mit dem folgenden Code:
Willkommen bei MySite
Dies ist ein funktionierendes Beispiel für das Patchen von Quellcode.
Erstellen Sie eine weitere Datei namens myfile_v2.html mit dem folgenden Code:
Willkommen bei YourSite
Dies ist ein funktionierendes Beispiel für das Patchen von Quellcode.
Die erste Datei ist die ursprüngliche Webseite mit der Überschrift "Willkommen bei MySite". Die zweite Datei ist die gleiche wie die erste, außer dass MyFile im Text in YourFile umbenannt wurde.
So erstellen Sie die Diff-Datei
Um einen Patch zu erstellen, müssen wir die Unterschiede zwischen myfile.html und myfile_v2.html herausfinden.
Wir können dies mit dem Befehl diff wie folgt tun:
diff -u meineDatei.html MeineDatei_v2.html> MeineDatei.Patch
Sie können die Datei myfile.patch wie folgt im Nano-Editor öffnen, um sie anzuzeigen: nano myfile.patch
Unveränderte Linien werden blau dargestellt. Entfernte Zeilen werden rot und hinzugefügte Zeilen grün angezeigt. Um den Patch auf myfile.html anzuwenden, verwenden Sie den folgenden Befehl: patch <meinedatei.patch Dadurch werden die mit dem Befehl diff erstellten Änderungen auf die Originaldatei myfile.html angewendet. Wenn Sie den Patch zurücksetzen möchten, damit myfile.html wieder auf dem ursprünglichen Zustand ist, verwenden Sie den folgenden Befehl: patch -R <meinedatei.patch Mit dem Befehl patch können Patches über die gesamte Verzeichnisstruktur angewendet werden. Es gibt weitaus bessere Tools als der Befehl patch, um Patches zu erstellen und eine gute Quellcodeverwaltung sicherzustellen. Es gibt einen Grund, warum so viele Entwicklungsprojekte GIT für die Quellcodeverwaltung verwenden. GIT macht es leicht, eine konsistente Verzweigungsstrategie zu erstellen. Der Befehl patch ist in Ordnung, wenn Sie Unterschiede zu einem Bash-Skript oder etwas einfachem anwenden möchten. Sie können jedoch genauso einfach eine Sicherungskopie der Dateien erstellen, die Sie patchen möchten, und die neuen Dateien einfach an dieselbe Stelle kopieren. Weitere Informationen erhalten Sie mit dem Befehl man: Mann Patch So wenden Sie den Patch mit dem Patch-Befehl an
So stellen Sie ein Patch wieder her
Zusammenfassung