As description says. To check that the 3-way merge should actually work subsitute `git apply -3` with `git am -3` in the following steps. This way it works. # Steps to reproduce $ git init Initialized empty Git repository in /tmp/foo/.git/ $ echo hello > file1 && git add file1 && git commit -m "initial commit" [master (root-commit) 8334093] initial commit 1 file changed, 1 insertion(+) create mode 100644 file1 $ git checkout -b mybranch Switched to a new branch 'mybranch' $ echo bye > file1 && git add file1 && git commit -m "change file1 text" [mybranch 1807900] change file1 text 1 file changed, 1 insertion(+), 1 deletion(-) $ git format-patch -1 --stdout > 1.patch $ git checkout master Switched to branch 'master' $ mv file1 file2 $ git add -u && git add file2 && git commit -m "renamed file1 to file2" $ git apply -3 1.patch error: file1: does not exist in index ## Expected Git apply successfully returns ## Actual It prints error: file1: does not exist in index # Versions git 2.26.2