如何确认Git中某提交是否由另一分支提交cherry-pick而来?
验证Git中cherry-pick提交的源提交方法
针对你提到的场景,以下是几种更高效的验证方法:
使用
git cherry命令
这个命令专门用于检查分支间的cherry-pick关系,在master分支下执行:git cherry develop master命令会对比develop和master的提交,输出中以
-开头的提交表示已在master中通过cherry-pick或内容完全一致的方式存在。找到develop分支中提交C对应的条目,如果标记为-,即可证明master中的目标提交是源自C的cherry-pick版本。直接对比两个提交的内容
跳过父提交对比,直接用提交哈希对比内容差异:git diff C <master中cherry-pick提交的哈希>如果命令无任何输出,说明两个提交的代码变更内容完全一致——cherry-pick仅会改变提交哈希、父提交关联和提交时间,核心的diff内容与原提交完全相同。
带cherry标记的日志查看
执行以下命令查看分支日志,会直观标记出cherry-pick的匹配提交:git log --cherry-mark --oneline develop..master日志中带有
=符号的提交对,代表是cherry-pick生成的匹配提交,你可以快速找到develop的C与master中对应提交的关联。
内容的提问来源于stack exchange,提问作者kensuke1984
相关产品推荐
相关产品推荐

