撤消git cherry pick失败导致的本地更改-n<;散列>;

撤消git cherry pick失败导致的本地更改-n<;散列>;,git,cherry-pick,git-cherry-pick,Git,Cherry Pick,Git Cherry Pick,我正试图使用“git cherry pick-n hash”从我的dev分支获得几个提交到我的uat分支,然后只使用一个git提交/推送将它们发送到uat 让我们假设我有5个我想要的提交,所以我签出并拉取我的uat分支,并开始从dev进行cherry pick。前4个cherry pick是成功的,但第5个由于合并冲突而失败。如何返回到前一个状态(在第4次“git cherry pick-n第4次_散列”之后) “git reset--merge”撤消所有更改(包括我想要的前4个更改)。 “gi

我正试图使用“git cherry pick-n hash”从我的dev分支获得几个提交到我的uat分支,然后只使用一个git提交/推送将它们发送到uat

让我们假设我有5个我想要的提交,所以我签出并拉取我的uat分支,并开始从dev进行cherry pick。前4个cherry pick是成功的,但第5个由于合并冲突而失败。如何返回到前一个状态(在第4次“git cherry pick-n第4次_散列”之后)

“git reset--merge”撤消所有更改(包括我想要的前4个更改)。 “git cherry pick--abort”表示没有正在进行的cherry pick


有什么方法可以做到这一点吗?我正在尝试创建一个bash脚本来自动执行此操作。

如果存在冲突,我不确定您希望如何在脚本中自动执行此操作。但不管如何。如果要保存以前的状态,我建议您删除
-n
标志。 因此,请执行:

git cherry-pick <hash>

其中
5
是您刚才做的cherry pick的数量。因此它可以与脚本一样工作。

谢谢Igal。我会试试。我正在创建一个Jenkins作业,它将尝试自动执行可能的操作,在我的示例中,cherry pick前4次提交,然后提交/推送到uat,并向某人发送电子邮件告知第五次通信它有需要解决的合并冲突。
git reset --soft HEAD~5 
git commit