我正在与一个团队合作,希望使用持续集成自动合并两个git分支。然而,我们希望如果出现合并冲突,持续集成任务会失败,以便开发人员可以手动运行合并并解决任何问题。
有没有人有这种设置的经验(最好是在TeamCity上,但任何CI服务器都很有趣)?
有没有人有这种设置的经验(最好是在TeamCity上,但任何CI服务器都很有趣)?
我之前写了一个Bash脚本来做这件事。实际上,完整的脚本为我们Github仓库中所有带有test
标签的开放PR执行此操作。
相关部分:
try_merge()
{
test -n "$1"
local branch=$1 commit
if ! commit=$(git rev-parse --verify -q $branch)
then
error bogus $branch
return
fi
if bash -c 'set -o pipefail; git branch --contains '$commit' | grep -qw master'
then
warning already $branch
return
fi
if git merge --ff-only $branch $commit
then
good fast $branch $commit
return
fi
if git merge $branch $commit
then
good merge $branch $commit
return
fi
git merge --abort
error abort $branch $commit
return
}