我有两个分支master和development
我需要从主分支中的开发分支获取一些提交ID,所以我通过cherry-pick来完成它,但它显示了一些错误
$> git cherry-pick cf0d52b
error: Commit cf0d52b900f990300c3aa17936ddbae1476d461a is a merge but no -m option was given.
fatal: cherry-pick failed
我没有收到此错误,为什么会出现此错误以及我将如何摆脱此错误。
此选项指定父编号(从1开始)
在 Git 2.13(2017 年第 2 季度)之前,该数字可能为 0! (这是错误的)
请参阅Jeff King (peff
)
提交 b16a991(2017 年 3 月 15 日)。
gitster
--合并于 commit 9c96637,2017 年 3 月 17 日)
cherry-pick 和 revert 命令使用
cherry-pick
:检测--mainline
的虚假参数
OPT_INTEGER()
来解析--mainline
。 stock 解析器足够聪明,可以拒绝非数字的废话,但它不知道父计数从 1 开始。更糟糕的是,值“0”与未设置的情况无法区分,因此假设计数是从 0 开始的用户将收到令人困惑的消息:
$ git cherry-pick -m 0 $merge error: commit ... is a merge but no -m option was given.
正确的诊断是“
-m 0
”不是指第一个父母(“-m 1
”指的是)。
git log --no-merges
将用于仅显示没有“合并哈希”的提交。对于具有大量更改或合并的项目,这可能很有用
您可以通过在合并之前选择提交来执行以下操作。
因此,如果您在任何合并之前有特定的提交,则可以这样做。
git 樱桃挑选此外,多个提交 ID
git 樱桃挑选 .....