我有一个开发分支,用于开发未来版本的新功能,还有一个发布分支,所有错误修复都在这里进行。开发分支不能合并到发布中,但发布应该经常合并到开发中。但是,我们经常忘记进行该合并,从而导致以后进行毫无意义的硬合并。
有没有办法自动提醒开发人员将一个分支合并到另一个分支?在这种情况下,例如,如果发布分支至少有 5 个提交未合并到开发中,我想显示提醒。有没有现成的解决方案?
我有一个开发分支,用于开发未来版本的新功能,还有一个发布分支,所有错误修复都在这里进行。开发分支不能合并到发布中,但发布应该经常合并到开发中。但是,我们经常忘记进行该合并,从而导致以后进行毫无意义的硬合并。
有没有办法自动提醒开发人员将一个分支合并到另一个分支?在这种情况下,例如,如果发布分支至少有 5 个提交未合并到开发中,我想显示提醒。有没有现成的解决方案?
很容易计算分支X
中无法从分支访问的提交Y
:
git rev-list X --not Y | wc -l
(前者生成一个可从X
但不是可访问的所有提交修订的列表Y
,并wc
计算行数,因为我们用 限制了它-l
)。
“X but not Y”有一个更短的语法,用..
语法拼写:它看起来有点奇怪,但你可以写Y..X
. 在这种情况下Y
isdevelop
和X
is 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
作为提交后挂钩(在评论中提到),这将必须由每个感兴趣的开发人员运行以提醒他们。