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

时间:2015-12-08 13:03:10

标签: git cherry-pick git-cherry-pick

我正在尝试使用“git cherry-pick -n hash”从我的dev分支进入我的uat分支,然后使用一个git commit / push将它们发送到uat。

假设我有5个我想要的提交,所以我结账并拉出我的uat分支并开始从dev开始挑选。前4个樱桃选择是成功的,但第5个失败了合并冲突。我如何回到以前的状态(在第4次“git cherry-pick -n 4th_hash”之后?

“git reset --merge”撤消所有更改(包括我想要的前4个)。 “git cherry-pick --abort”说没有樱桃选择。

有没有办法实现这个目标?我正在尝试创建一个bash脚本来自动执行它。

1 个答案:

答案 0 :(得分:0)

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

git cherry-pick <hash>

对于您想要的每个提交,并且一旦您将它们压缩在一起。

git reset --soft HEAD~5 
git commit

5是你刚才做的樱桃选择的数量。所以它可以与脚本一样工作。