2016-11-22 2 views
0

Я недавно внес большой вклад в структуру папок в ветке, используя git mv, в результате чего не было добавлено/удалено только файлы. Переименовывает, чтобы сохранить историю.Git merge keep mv history

Слияние этой ветви с другими ветвями приводит к добавлению/удалению всех файлов с изменениями содержимого.

Git явно понимает перемещенные файлы, так как пытается выполнить команду «Удалить/Добавить».

Как я могу убедиться, что история моих файлов остается неизменной во время слияния с переименованными файлами?

ответ

0

Git на самом деле не отслеживает переименования, но наводит их эвристически, определяя количество удаленных файлов и добавленных файлов. Есть некоторые конфигурации (и параметры командной строки), которые могут помочь обнаружить:

[diff] 
    renamelimit = 3000 

Что вы можете установить с помощью git config --global diff.renameLimit 3000. Существует также merge.renameLimit, но если он не установлен, по умолчанию он равен diff.renameLimit. К сожалению, я не могу найти документальное значение по умолчанию, но source code, по-видимому, указывает, что 400 является лимитом по умолчанию.

Или вы можете посмотреть опцию -l на номер git diff, а также опцию -M/--find-renames.

Смежные вопросы