Я хорошо понимаю, как Git может поддерживать перемещение файлов: поскольку он использует хэш файла, «добавленный» файл легко определяется как «удаленный».
Мой вопрос касается рефакторинга: учитываяJava, объявление пакета изменяется, поэтому содержимое файла НЕ будет таким же.В таком случае, как Git определяет, что «добавленный» файл делится историей с «удаленным»?Проверяет ли «наиболее похожий контент», предполагая, что я внес только незначительные изменения или подобное недетерминированное решение?