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