Hi, >From what I can see w/o `-3` `git am` follows the `patch`'es behavior. And the `patch`'es behavior is if there are lines in a patch that doesn't match the lines in the source file, it fails. For example, a source file: 11 2 3 A patch: 1 2 -3 +33 But `git am -3` will apply such a patch. That is, `patch` sees that the first line changed and that prevents it from applying the patch, but `git am -3` decides that it's okay. Why is that? A script that reproduces the issue: set -eux mkdir a (cd a git init echo '1 2 3' > a git add a git commit -m 1,2,3 sed -Ei 's/3/33/' a git add a git commit -m '3 -> 33' git format-patch -1 HEAD) mkdir b (cd b git init echo '11 2 3' > a git add a git commit -m 11,2,3 git remote add a ../a git fetch a cat a cat ../a/0001-3-33.patch git --no-pager log --oneline --graph --all git am "$@" ../a/0001-3-33.patch # try it w/ and w/o -3 git --no-pager log --oneline --graph --all) A couple of links, just in case, which have more information and show where it comes from: https://stackoverflow.com/a/25847019/52499 https://gist.github.com/x-yuri/9907d5b9cbf29e84d510902a776741df https://gist.github.com/x-yuri/57d08f6afb10a89856d6e6a62abe30d4 Regards, Yuri