Слияние с веткой, что имя файла было изменено и старое имя используется в ветке pull - PullRequest
0 голосов
/ 05 июля 2019

У меня есть мастер ветка.Там у меня есть файл с именем "а".Я добавляю и фиксирую файл.Затем я создаю ветку под названием "фа".Я создаю файл с именем "fa", в этом файле я включаю файл "a", который был создан во время основной ветки.Добавьте и передайте эти изменения.Тем временем какой-то другой разработчик переименовал файл «a» в своей собственной ветви и слил обратно с основной веткой.Затем я возвращаюсь к основной ветке и сливаю в нее ветку fa.Я включаю файл "a", который теперь называется ... ммм, скажем ... "B".

Есть ли способ противостоять такого рода проблемам?

1 Ответ

0 голосов
/ 06 июля 2019

Git имеет опцию при перебазировании или слиянии, которая называется find-renames.

Определить переименования. Если указано n, это пороговое значение индекса сходства (то есть количество добавлений / удалений по сравнению с размером файла). Например, -M90% означает Git следует считать пару «удалить / добавить» переименованием, если более 90% файла не изменилось. Без знака% число читается как дробь с десятичной точкой перед этим. Т.е. -M5 становится равным 0,5 и, таким образом, равен -M50%. Аналогично, -M05 - это то же самое, что и -M5%. Чтобы ограничить обнаружение точными переименованиями, используйте -M100%. Сходство по умолчанию индекс 50%.

Так что вы можете попытаться слиться с мастером с помощью

git rebase --strategy-option="find-renames=20" master

Это установит порог в 20% при обнаружении переименований при переходе на основную ветку, где сходство в 20% будет считать два файла одинаковыми и выполнит переименование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...