Renaming a file isn't properly handled in git

  • 1
  • 3

I recently used the "Rename" function on a file's context menu in the Refactor submenu. It worked great to update references in my code, but I noticed an issue when I was organizing a commit in git.

The original file was removed and the new one was added thereby destroying version history. This was equivalent to the following comands in Bash:

cat >
Instead, this should have been done through git to retain the version history:

git mv
Unlike some other version control systems, there is no difference between these two operations in Git. Git detects renamed files automatically, even if the mv operation wasn't used.
Dmitry Jemerov, Chief Technology Officer, JetBrains