我在git存储库中有两个主要分支:develop和master。新特性开发发生在development的分支中,然后合并到master中进行部署。
我想确定一段时间以来是否发生了从开发到主版本的合并。我甚至对实际的提交本身都不感兴趣,只是开发中的一些东西已经合并到master中。
我试过:
git rev-list --merges origin/develop..origin/master --since <date> | wc -l
有一段时间我知道有合并,但似乎总是返回零。
更新
而且,我也试着一步一步地建立它。开始于:
git rev-list --merges origin/master --since <date>
我把所有的合并都变成了主控,从开发分支和任何可能存在的热修复分支。只有当我添加“origin/development”约束时,结果中才没有任何结果。

最佳答案

为了查找上次合并分支的时间,我将使用git merge-base。这显示了这两个分支共同拥有的最新提交。

git merge-base origin/develop origin/master

这将提供两个分支中最新的公共sha,让您了解它们上次合并的时间。您可以将提交sha导入git log并查看最后一次提交。
git merge-base origin/develop origin/master | xargs git log -1

如果要查看自此SHA以来分支上的所有提交:
git merge-base origin/develop origin/master | xargs -I sha git log sha..origin/develop

有了它,您将能够看到origin/develop上所有尚未在origin/master上进行的提交的列表。

关于git - 是否从特定分支 merge 到主分支?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23343540/

10-13 07:28
查看更多