The effect is indistinguishable from removing the file and adding another with different name and the same content.
The answer to the question of why takes so long to find a small number of commits which changed a given file lies in the fact that Git looks at all the commits to find that. Not having a per-file history is what allows Git to do rather than being able to track just one file.
The diff machinery in Git has support for automatically detecting renames, this is turned on by the will give the commit history with rename information.
Git also supports a limited form of merging across renames.
Having said that, we tried hard to avoid problems by unsetting CDPATH everywhere in the Git scripts and in the Makefiles, but it is quite possible that we missed some places. The disadvantage is that you usually tested more while developing, so that some obscure feature in, say, "G", could work less nicely together with the changes of, say, "B", than you hope for. Users sometimes want steps 3 and 4 combined, and this meshes well with user expectations when they see the word "rm".
By contrast, if you just remove the "export" from your .bashrc, you are guaranteed to never get bitten by that breakage again! In other words, G was tested thoroughly, G' was not. Think of "git rm" without "--cached" as a shorthand to do steps 3 and 4 in one go to meet that expectation.
The Linux kernel export script does this to set the EXTRA_VERSION variable in the Makefile.
See gitattributes(5) if you really want to do this. A Git repository can store a flag to register the encoding supposedly used for comments (including author names).
You should check the bootloader version of any CC or CC3D and know the Bootloader version.
Trusted sources are the Open Pilot Downloads page or firmware that you have built yourself from the official git repository.