2017-01-20 3 views
0

Ich benutze git gelten, um einen Patch über eine Codebasis anzuwenden.git anwenden über vorhandene Datei

Bevor ich dies auslöst, wende ich einen anderen Befehl an, der die Dateien erstellt, die keine vorherige Version hatten (ich muss diesen Befehl auslösen, weil er auch andere Dinge hinter der Szene tut).

Das Problem ist, dass die Patch-Datei auch eine "create" -Anweisung enthält, die die Patch-Anwendung fehlschlägt, weil die Datei bereits erstellt wurde. Ich kann die bereits erstellte Datei nicht löschen.

Gibt es einen "Ignorieren" -Parameter irgendeiner Art, der, wenn er die Datei nicht erstellen kann, weil sie bereits existiert, versucht, den Inhalt zu dieser Datei hinzuzufügen?

Antwort

0

Versuchen Sie --exclude Wie ich weiß, wissen Sie, welche Dateien gerade erstellt wurden, wie Sie sie erstellen, also schließen Sie sie gerade von der Anwendung eines Patches aus.

0

Wenn Sie sagen, dass die Datei bereits erstellt wurde, wird sie als leere Datei erstellt, was bedeutet, dass Sie mit dem Patch apply den Erstellungsschritt überspringen, aber die Datei immer noch so ausfüllen, als ob sie erstellt wurde?

Wenn dies der Fall ist, besteht die einfachste Möglichkeit darin, Ihre Patch-Datei zu bearbeiten und die Patch-Anweisungen von der Dateierstellung zu denen zum Einfügen der Daten in eine leere Datei zu ändern.

Die Besonderheiten hängen vom Patch-Format ab, aber es sollte einfach sein, die erforderlichen Änderungen zu erarbeiten, indem Sie ein Patch zwischen einer leeren Datei und einer Datei mit Daten erstellen und dann ein Skript schreiben, um Ihre Patch-Datei entsprechend zu ändern .

Verwandte Themen