给定两个git commit哈希,如何查找这些提交之间所有关联合并的分支名称?如何找到两个git提交之间的合并?
我想写一个脚本来收集有关哪些分支已合并到两个给定日期之间指定的目标分支的统计信息。
我知道你可以得到所有分支的列表合并到目标分支用以下命令:
git branch --merged <target_branch>
但你怎么把它限制在一定范围内的提交?
给定两个git commit哈希,如何查找这些提交之间所有关联合并的分支名称?如何找到两个git提交之间的合并?
我想写一个脚本来收集有关哪些分支已合并到两个给定日期之间指定的目标分支的统计信息。
我知道你可以得到所有分支的列表合并到目标分支用以下命令:
git branch --merged <target_branch>
但你怎么把它限制在一定范围内的提交?
我想你想使用命令和--merges
标志。因此,举例来说,如果你想找到所有release-1.0
和release-2.0
之间的合并,你会说:
git log release-1.0..release-2.0 --merges
“之间”本身是模糊的(由于分支和合并结构的DAG中的概念) - 也许你需要'git rev-list --ancestry-path^exclude include'的等价物,但也许不是 - 但是一旦你把所有提交的集合视为“之间”,“--min-parents = 2'aka'--merges'(如Andrew Miner的答案)将选择这样的提交。 – torek