0

我有一个开发分支,用于开发未来版本的新功能,还有一个发布分支,所有错误修复都在这里进行。开发分支不能合并到发布中,但发布应该经常合并到开发中。但是,我们经常忘记进行该合并,从而导致以后进行毫无意义的硬合并。

有没有办法自动提醒开发人员将一个分支合并到另一个分支?在这种情况下,例如,如果发布分支至少有 5 个提交未合并到开发中,我想显示提醒。有没有现成的解决方案?

4

1 回答 1

0

很容易计算分支X中无法从分支访问的提交Y

git rev-list X --not Y | wc -l

(前者生成一个可从X但不是可访问的所有提交修订的列表Y,并wc计算行数,因为我们用 限制了它-l)。

“X but not Y”有一个更短的语法,用..语法拼写:它看起来有点奇怪,但你可以写Y..X. 在这种情况下YisdevelopXis release,所以git rev-list develop..release生成列表。

所以(未经测试):

#! /bin/sh
n=$(git rev-list develop..release | wc -l)
if [ $n -ge 5 ]; then
    echo "NOTE: release has $n commits that are not yet merged into develop"
fi

作为提交后挂钩(在评论中提到),这将必须由每个感兴趣的开发人员运行以提醒他们。

于 2013-11-06T09:50:40.490 回答