Я пишу сценарий оболочки для автоматизации модификации кода между двумя разными ветками Git.Требуется, чтобы я получил список коммитов Git (который я сохранил в таблице базы данных) из одной ветви и воспроизвел эти изменения в другой ветви, и для этого я использую команду Git Cherry-Pick, как показано ниже.
git checkout target_branch
<Sql command to get commit list> | xargs git cherry-pick
Вышеприведенное не работает, если при выборе какого-либо коммита возникают конфликты, и мне нужно реализовать следующую логику, используя отдельный параметр в качестве входных данных для скрипта
-> if parameter value is Abort, list the files for which conflicts occured while cherry picking and then clean the repo(i am using git reset --merge for cleaning)
-> if parameter value is Overwrite, overwrite the conflicting files with the version of the commit hash
Я пробовал многоопций, но остается только создать фиктивную ветвь, выбрав вишню только эти коммиты, а затем объединить манекен с целью, но я не знаю, как создать новую ветку только вишнями.
Пожалуйста, предложите способ.
Спасибо.Kumarjit