В моем git-репозитории есть 2 ветки: осваивать и развивать. Мне нужен скрипт, который автоматически объединяет все изменения от разработки до мастера.
Я использовал Jenkins: плагин Git клонирует репозиторий, а затем запускается этот скрипт (переменная 'version' является параметром задания):
# merge
git checkout -b develop origin/develop
git checkout master
git merge -Xtheirs --squash develop -m "v${version}"
# commit
git commit -m "v${version}"
# tag
git tag v${version} -m "v${version}"
# push
git push origin v${version}
Я попробовал его в тестовом репозитории, и он не работает с:
git merge -Xtheirs развивать
CONFLICT (удалить / изменить): test.txt удален в разработке и изменен в HEAD. Версия HEAD файла test.txt оставлена в дереве.
Автоматическое объединение не выполнено; исправить конфликты, а затем зафиксировать результат.
Как мне разрешить этот конфликт автоматически ? Я хочу, чтобы скрипт всегда добавлял / изменял / удалял файлы в соответствии с веткой'velop ', так как master никогда не затрагивался. ..