我正在编写一个Shell脚本来自动化两个不同的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
我尝试了很多选项,但是剩下的唯一事情是通过仅选择那些提交来创建虚拟分支,然后将虚拟对象与目标合并,但是我不知道如何仅通过樱桃选择来创建新分支
请提出一种方法。
谢谢。 库玛吉特
答案 0 :(得分:0)
我不知道怎么只用樱桃采摘来创建新分支。
考虑使用cherry-pick is applied on the current branch,您可以:
首先创建新分支
git checkout -b aNewBranch
像往常一样应用樱桃签。