Was ist zu tun, wenn git-am mit "does not exist in index" fehlschlägt?

9

Ich habe einen Patch, der die folgende Ausgabe ausgibt, wenn ich versuche, ihn mit git am

anzuwenden %Vor%

Innerhalb des Patches wird der alte / Dateiname tatsächlich in den neuen / Dateinamen verschoben, aber es scheint, dass die ursprüngliche Datei bereits in der Quellstruktur fehlt.

Was ist der Fehler über und wie man es löst / umgeht? Kann es einfach ignoriert werden (mit --reject oder so)?

    
a1an 01.10.2013, 12:09
quelle

1 Antwort

3

Der Patch wurde nicht mit dem richtigen Quellbaum erstellt.

Eine Möglichkeit, wie das passieren könnte:

Gehen Sie davon aus, dass Ihre ursprüngliche Verzweigung (auf die Sie den Patch anwenden möchten) festgeschrieben wurde:

  1. 1a - & gt; 1b - & gt; 1c - & gt; 1d

Dieser Zweig wird dann geklont und neue Commits gemacht:

  1. 1a - & gt; 1b - & gt; 1c - & gt; 1d - & gt; 1e

Commit 1e inklusive alt / Dateiname

Nun machen Sie die Arbeit im Patch, basierend auf dem zweiten Zweig, nicht dem ursprünglichen:

  1. 1a - & gt; 1b - & gt; 1c - & gt; 1d - & gt; 1e - & gt; 1f

Commit 1f enthielt die Umbenennung alt / Dateiname - & gt; neu / Dateiname

Wenn Sie jetzt einen Patch für Commit 1f erstellen, können Sie ihn nicht zusätzlich zu Commit 1d anwenden, da der Commit 1e fehlt, wenn der alte / Dateiname zum Index / Repository hinzugefügt wurde.

    
Jacques 17.01.2015, 09:32
quelle

Tags und Links