Here is a simple setup: cd /tmp mkdir g cd g git init . wget http://central.maven.org/maven2/org/apache/xmlgraphics/fop/2.1/fop-2.1.pom git add fop-2.1.pom git commit -m "My First Commit" git rm fop-2.1.pom git commit -m "Second Commit" git format-patch HEAD~ git reset --hard HEAD~ git am 0001-Second-Commit.patch Applying: Second Commit error: patch failed: fop-2.1.pom:1 error: fop-2.1.pom: patch does not apply Patch failed at 0001 Second Commit hint: Use 'git am --show-current-patch' to see the failed patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". What is the black magic to get `git am` to understand this patch ? Please note that: $ patch --dry-run -p1 < 0001-Second-Commit.patch checking file fop-2.1.pom Thanks!