Гир филиал в филиал модернизации - PullRequest
0 голосов
/ 23 октября 2018

Я пишу сценарий оболочки для автоматизации модификации кода между двумя разными ветками 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

1 Ответ

0 голосов
/ 23 октября 2018

Я не знаю, как создать новую ветвь только при выборе вишни.

Учитывая, что cherry-pick применяется к текущей ветви , выМогут:

  • сначала создать новую ветвь

    git checkout -b aNewBranch
    
  • применить свои вишневые кирки как обычно.

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