如何检查feature_branch分支的提交是否被cherry-pick至master分支?
检查feature_branch的所有提交是否已cherry-pick到master
有几种实用的Git命令可以帮你完成这个检查:
方法1:用git cherry(最准确,适配cherry-pick场景)
git cherry会基于提交内容而非哈希值对比两个分支,完美应对cherry-pick后提交哈希改变的情况。
执行命令:
git cherry master feature_branch
输出解读:
- 以
+开头的行:对应feature_branch里的提交,还未被cherry-pick到master - 以空格开头的行:该提交的内容已存在于master中(无论哈希是否相同)
- 无任何输出时,说明feature_branch的所有提交都已cherry-pick到master
方法2:用git log快速排查
如果只是想快速确认有没有未同步的提交,可以用:
git log master..feature_branch
- 无输出:feature_branch的所有提交都能在master找到
- 有输出:列出的是master中缺失的提交(注意:此方法基于哈希判断,若提交cherry-pick后哈希改变可能误判,优先用
git cherry)
额外提示
如果feature_branch有过rebase、修改提交历史的操作,git cherry依然可靠——它通过计算提交的patch ID对比内容一致性,不会被哈希变化影响。
内容的提问来源于stack exchange,提问作者z0nk0
相关产品推荐
相关产品推荐

