Skip to main content

So wenden Sie ein Patch mit Linux auf eine Datei an

Windows 10 Einstellungen geht nicht bzw. öffnen nicht. - Fix (Kann 2024)

Windows 10 Einstellungen geht nicht bzw. öffnen nicht. - Fix (Kann 2024)
Anonim

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:

Meine Seite

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:

Meine Seite

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:

Deine Seite

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.

So wenden Sie den Patch mit dem Patch-Befehl an

Um den Patch auf myfile.html anzuwenden, verwenden Sie den folgenden Befehl:

patch <meinedatei.patch

So stellen Sie ein Patch wieder her

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

Zusammenfassung

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