我正在使用 cherry-pick
合并一大堆提交。
git rev-list --reverse something-begin..something-end | git cherry-pick --stdin
然后出现错误信息。
...
You are currently cherry-picking commit xxxyyy.
nothing to commit, working tree clean
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
If you wish to skip this commit, use:
git reset
Then "git cherry-pick --continue" will resume cherry-picking the remaining commits.
我不想选择这些空提交记录。
每次停止和提示时输入
git reset; git cherry-pick --continue
非常烦人。为什么它没有提供
--skip-empty
选项?然后我找到了这个线程:
很糟糕,我检查了我的git版本
2.9.3
,甚至发现它的cherry-pick
不支持--skip-empty
或--empty-commpit=skip
或任何其他选项。我已经检查过
git rev-list
有一个--remove-empty
选项,但它根本没有起作用。
git rev-list
一个单独的提交,它会做什么。它会打印该提交的ID,然后是该提交的父ID,然后是该父ID的父ID,然后是那个父ID的父ID,以此类推。什么时候停止从父级到父级的跟踪呢?通常的答案是:当没有更多的父级时。但你可以让它提前停止。 - torekgit cherry-pick something-begin..something-end
吗?那时候可用吗?它有同样的问题吗? - Dan M.