Википедия объясняет автоматическое обнаружение переименования:
Вкратце, учитывая файл в редакции N, файл с тем же именем в Версия N-1 является ее предшественником по умолчанию. Однако, когда нет файл с именем в версии N-1, Git выполняет поиск файла, который существует только в редакции N-1 и очень похоже в новый файл.
Переименовать обнаружение, по-видимому, сводится к аналогичному обнаружению файлов. Этот алгоритм документирован где угодно? Было бы неплохо узнать, какие виды преобразований обнаруживаются автоматически.