Git 樱桃采摘范围

Git cherry picking a range

我有两个非常不同的分支,但是一个分支包含一些我想添加到另一个分支的有用代码。这些分支很久以前就分道扬镳了,我无法合并它们,因为它们的许多特性都不同,合并是不可行的。

在连续提交中添加了捐助者分支的有用代码,我有我想要挑选的提交的哈希值。当我发出命令 git cherry-pick hash1 hash2 时,我被告知 nothing to commit, working tree clean. The previous cherry pick ous now empty, possibly due to conflict resolution.

有没有办法 运行 通过所有的挑选,允许任何不会产生任何更改的提交自动通过?我宁愿不坐在这里,不得不手动继续通过每个空的 cherry-pick。

这应该意味着,作为 detailed here,该提交引入的所有更改都已由您当前分支上的某个提交引入。

首先,仔细检查你是否首先检查了 destination 分支,并且你不在源分支上(带有 hash1 hash2 的分支)

然后,您可以跳过空提交 :

git rev-list --reverse something-begin..something-end . | git cherry-pick --stdin