是否从特定分支合并到主分支?

时间:2014-04-28 14:18:29

标签: git version-control git-rev-list

我在Git存储库中有两个主要分支 - develop和master。新功能开发发生在开发分支之外,然后合并到主服务器进行部署。

我想确定自某个时间以来是否发生了从开发到主要的合并。我甚至对真正的提交本身并不感兴趣,只是来自develop的某些东西已合并为master。

我试过了:

git rev-list --merges origin/develop..origin/master --since <date> | wc -l

我知道有合并的时期,但似乎总是返回零。

更新

另外,我已经尝试逐步构建它。从:

开始

git rev-list --merges origin/master --since <date>

我从开发分支和可能存在的任何修补程序分支获得所有合并到master。只有当我添加“原点/开发”时才会这样做。约束我在结果中什么也得不到。

2 个答案:

答案 0 :(得分:1)

为了找到合并分支的最后时间,我会使用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上进行的所有提交的列表。

答案 1 :(得分:0)

另一种选择应该是:

git log --merges --since=<date> --oneline origin/develop..origin/master
  • - merges告诉日志只显示合并
  • - oneline是可选的并格式化输出