for example, I've created a simple repository. Containing two files ('to rename.txt' and 'to remove.txt'). I wanted to prepare for the index changing the name of the first file and deleting the second file. what git shows you looks wrong. Please check the four instructions $ git add . $ git commit -m " first commit" $ git mv to\ rename.txt new\ name.txt $ git rm to\ remove.txt SAMPLE REPOSITORY AND TEST Untracked files: (use "git add <file>..." to include in what will be committed) to remove.txt to rename.txt nothing added to commit but untracked files present (use "git add" to track) ksobierajczyk@KME43 MINGW64 /d/Simple repository (master) $ git add . ksobierajczyk@KME43 MINGW64 /d/Simple repository (master) $ git status On branch master No commits yet Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: to remove.txt new file: to rename.txt ksobierajczyk@KME43 MINGW64 /d/Simple repository (master) $ git commit -m " first commit" [master (root-commit) 46011e3] first commit 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 to remove.txt create mode 100644 to rename.txt ksobierajczyk@KME43 MINGW64 /d/Simple repository (master) $ git status On branch master nothing to commit, working tree clean ksobierajczyk@KME43 MINGW64 /d/Simple repository (master) $ ls -all total 8 drwxr-xr-x 1 ksobierajczyk 1049089 0 lut 22 13:40 ./ drwxr-xr-x 1 ksobierajczyk 1049089 0 lut 22 13:38 ../ drwxr-xr-x 1 ksobierajczyk 1049089 0 lut 22 13:41 .git/ -rw-r--r-- 1 ksobierajczyk 1049089 0 lut 22 13:38 'to remove.txt' -rw-r--r-- 1 ksobierajczyk 1049089 0 lut 22 13:40 'to rename.txt' ksobierajczyk@KME43 MINGW64 /d/Simple repository (master) $ git mv to\ rename.txt new\ name.txt <--- rename ksobierajczyk@KME43 MINGW64 /d/Simple repository (master) $ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) renamed: to rename.txt -> new name.txt <--- rename is ok ksobierajczyk@KME43 MINGW64 /d/Simple repository (master) $ ls -la total 8 drwxr-xr-x 1 ksobierajczyk 1049089 0 lut 22 13:42 ./ drwxr-xr-x 1 ksobierajczyk 1049089 0 lut 22 13:38 ../ drwxr-xr-x 1 ksobierajczyk 1049089 0 lut 22 13:42 .git/ -rw-r--r-- 1 ksobierajczyk 1049089 0 lut 22 13:40 'new name.txt' -rw-r--r-- 1 ksobierajczyk 1049089 0 lut 22 13:38 'to remove.txt' ksobierajczyk@KME43 MINGW64 /d/Simple repository (master) $ git rm to\ remove.txt <---- remove file ksobierajczyk@KME43 MINGW64 /d/Simple repository (master) $ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) renamed: to remove.txt -> new name.txt <------------ AND FAIL deleted: to rename.txt ksobierajczyk@KME43 MINGW64 /d/Simple repository (master) $ git commit -m"second commit" [master 30beac5] second commit 2 files changed, 0 insertions(+), 0 deletions(-) rename to remove.txt => new name.txt (100%) delete mode 100644 to rename.txt ksobierajczyk@KME43 MINGW64 /d/Simple repository (master) $ git status On branch master nothing to commit, working tree clean ksobierajczyk@KME43 MINGW64 /d/Simple repository (master) $ git show commit 30beac5b0578d4e4b6e64ea3a3c9a323f14e6277 (HEAD -> master) Author: Krzysztof Sobierajczyk <sobierajczyk.krzysztof@xxxxxxxxx> Date: Fri Feb 22 13:45:21 2019 +0100 second commit diff --git a/to remove.txt b/new name.txt <------- Wrong information similarity index 100% rename from to remove.txt rename to new name.txt diff --git a/to rename.txt b/to rename.txt deleted file mode 100644 index e69de29..0000000