根据过滤器列出特定 git 个分支

List specific git branches depending on a filter

我正在开发一个包含很多分支的大型仓库。大部分已经合并到master,还有一些等待合并。

我需要的是查看它们中的哪些正在触及特定目录。

例如,在这个 repo 中有几个 API,比方说 A、B、C 等。 我想看看这个 repo 的哪些分支正在尝试更改 A。这就是为什么我在上面提到了一个 'specific directory',但如果有更简单的检查方法,它也是可以接受的。

我不确定哪种方式方便?选择开发脚本还是有任何 git 本机命令?

(这不是一个完整的答案。只是想为对话添加一些元素。)

对于给定的分支,像

这样的东西会很微不足道
git rev-list --count <referenceBranch>..<featureBranch> -- path/to/directory/*

仅当分支自上次引用状态以来触及给定目录时才会输出正值。


现在要遍历分支并执行上述测试,我首先想到的是 for-each-ref,正如名称所示,循环遍历给定引用集中的每个引用(此处为 refs/heads) ,但我还不知道如何让这些一起工作。可能只是 bash?

中的一个循环

确实是个有趣的问题。