Fehler beim Anwenden eines Patches in Git

Ich habe einen flachen Klon, für den ich drei Commits gemacht habe. Hier ist das Protokoll:

$ git log --oneline --graph --decorate --all
* d3456fd (HEAD, Master) Patch 3
* 9713822 Patch 2
* 6f380a6 Patch 1
* 8a1ce1e (origin / master, origin / HEAD) vom vollständigen Klon
* 7c13416 hinzugefügt von flach
* 3b3ed39 entfernte E-Mail
* cfbed6c weitere Änderungen
* a71254b hinzugefügt für Release 2.1
* 7347896 (gepfropfte) Änderungen für Version 2

Jetzt erstelle ich einen Patch von hier:

$ git format-patch -k --stdout origin> ../format_since_origin.patch

Ich möchte diesen Patch in einem anderen Klon anwenden, der ein vollständiger Klon ist.
Hier ist das Protokoll:

$ git log --oneline --graph --decorate --all
* 8a1ce1e (HEAD, Origin / Master, Master) vom vollständigen Klon
* 7c13416 hinzugefügt von flach
* 3b3ed39 entfernte E-Mail
* cfbed6c weitere Änderungen
* a71254b hinzugefügt für Release 2.1
* 7347896 Änderungen für Release 2
* b1a8797 wechselt zu zwei Dateien
* 603710c geänderter Testbericht
* 16b20b3 test_report.txt hinzugefügt
* f0871eine geänderte Datei1.xml
* dd94bfc hat file1.xml hinzugefügt
* 00758aa zweites Commit
* 49f9968 Erstes Commit

Ich kann den Patch, der mit dem obigen flachen Klon erstellt wurde, nicht anwenden. Ich erhalte den folgenden Fehler.

$ git am -3 /c/temp/git/format_since_origin.patch
Auftragen: Patch 1
Verwenden von Indexinformationen zum Rekonstruieren eines Basisbaums ...
Fehler: Patch fehlgeschlagen: Datei1.c: 6
Fehler: file1.c: Patch trifft nicht zu
Hast du deinen Patch von Hand bearbeitet?
Sie gilt nicht für Blobs, die in ihrem Index aufgezeichnet sind.
Es kann nicht auf eine Drei-Wege-Zusammenführung zurückgegriffen werden.
Patch fehlgeschlagen bei 0001 Patch 1
Wenn Sie dieses Problem behoben haben, führen Sie "git am --resolved" aus.
Wenn Sie diesen Patch überspringen möchten, führen Sie stattdessen "git am --skip" aus.
Um den ursprünglichen Zweig wiederherzustellen und das Patchen zu beenden, führen Sie "git am --abort" aus.

Irgendeine Idee, warum dieser Patch fehlschlägt? Oder ist meine Methode völlig falsch?

Aktualisieren:

Es funktioniert mit den folgenden

$ git am -3 --ignore-whitespace /c/temp/git/format_since_origin.patch Anwenden: Patch 1 Anwenden: Patch 2 Anwenden: Patch 3

Nun, wie von Charles vorgeschlagen - wenn ich das Git Diff versuche, erhalte ich den Fehler wie unten.

$ git diff -p origin> ../dif_origin.patch

Bei der Bewerbung,

$ git apply --ignore-whitespace --inaccurate-eof /c/temp/git/dif_origin.patch
c: /temp/git/dif_origin.patch: 9: Leerzeichen am Ende.
Patch-Änderung für file1.c
c: /temp/git/dif_origin.patch: 18: abschließendes Leerzeichen.
Flicken Sie diesen XML-Typ
c: /temp/git/dif_origin.patch: 29: Leerzeichen am Ende.
fsdfsd
c: /temp/git/dif_origin.patch: 30: abschließendes Leerzeichen.
Korrigieren Sie diesen Bericht
Fehler: Patch fehlgeschlagen: Datei1.c: 6
Fehler: file1.c: Patch trifft nicht zu
Fehler: Patch fehlgeschlagen: file1.xml: 2
Fehler: file1.xml: Patch trifft nicht zu
Fehler: Patch fehlgeschlagen: tr / test_report.txt: 2
Fehler: tr / test_report.txt: Patch gilt nicht

Antworten auf die Frage(3)

Ihre Antwort auf die Frage