Git - как вызвать конфликт слияния и слияние вручную для выбранного файла

Мы поддерживаем веб-приложение, которое имеет общую главную ветвь и множество параллельных ветвей, по одной для каждой установки, каждая из которых имеет несколько конкретных изменений. Исходный код управляется в git, и это отличный инструмент, когда нам нужно перенести функции и исправления из основной ветки в параллельные. Но мало файлов, которые являются конфиденциальными, и автоматическое объединение обычно дает плохие результаты. Таким образом, слияние было бы намного проще, если бы их можно было как-то пометить, и каждое слияние привело бы к конфликту, требующему ручного слияния.

Я искал ответ:

  1. Я использую - no-commit и - no-ff параметры слияния, но это не то же самое.
  2. Здесь и здесь кто-то задает тот же вопрос, но без решения.
  3. Аналогично. case, похоже, как предотвратить слияние файлов с использованием .gitattributes, содержащих: somefile.php merge = ours . Я попытался найти какую-нибудь опцию слияния, которая могла бы вызвать конфликт или принудительное слияние вручную, но пока ничего не нашла.
  4. .gitattributes, содержащие: somefile.php -merge никогда не сливаются автоматически и поэтому принудительное слияние вручную. Это 90% -ное решение, но я стремлюсь попробовать автоматическое слияние и пометить его как конфликт независимо от того, успешно оно или нет. Но это пока что ближе всего к решению. (... спасибо Чарльзу Бейли за разъяснения ...)
  5. Кто-то предлагает написать собственный драйвер слияния ( 1 , 2 ), но как это сделать, мне далеко не ясно.

редактировать: вариант 4. описание

79
задан Community 23 May 2017 в 10:30
поделиться