Git如何获取branch-1上指定作者的原创提交 排除合并带入的同作者提交
Git 筛选分支原创提交的解决方案
你遇到的问题是--first-parent参数会限制只遍历分支的第一父链,导致合并前的提交被过滤,只需调整命令的范围限定规则即可拿到符合要求的提交哈希。
核心命令
git log --author=你的用户名 --no-merges develop..branch-1
参数说明
develop..branch-1:Git范围限定语法,仅筛选出存在于branch-1但不存在于develop的提交,天然排除切分支前就存在的历史提交、以及合并操作带入的已存在于develop的同名作者提交--author=你的用户名:仅保留你作为作者的提交--no-merges:过滤掉合并提交本身
常用优化选项
直接输出短哈希方便批量cherry-pick
git log --author=你的用户名 --no-merges --format=%h develop..branch-1输出结果为按提交时间排序的短哈希列表,可直接复制用于cherry-pick操作。
显示提交简介方便核对内容
git log --author=你的用户名 --no-merges --oneline develop..branch-1每行会展示短哈希+提交说明,可逐个核对避免选错提交。
仅保留直接提交到branch-1主链的提交
如果branch-1曾合并过其他非develop分支,不需要合并带入的外部分支上的你的提交,可加--first-parent参数:git log --author=你的用户名 --no-merges --first-parent develop..branch-1
内容的提问来源于stack exchange,提问作者Prem Ib
相关产品推荐
相关产品推荐

