在持续集成中自动执行Git合并,但如果存在合并冲突,则会失败

在持续集成中自动执行Git合并,但如果存在合并冲突,则会失败,git,continuous-integration,teamcity,Git,Continuous Integration,Teamcity,与我一起工作的团队希望使用持续集成来自动合并两个git分支。但是,如果存在合并冲突,我们希望持续集成作业失败,以便开发人员可以手动运行合并并解决任何问题 有没有人有过这种设置的经验(最好是在TeamCity,但任何CI服务器都会很有趣)?这可以通过使用自动合并构建功能在TeamCity中实现 合并将仅在成功生成后执行,但如果合并期间存在任何冲突,则随后将导致生成失败 更多详情请参阅: 希望这能有所帮助。不久前我写了一个bash脚本来实现这一点。实际上,完整的脚本在我们的github repo中

与我一起工作的团队希望使用持续集成来自动合并两个git分支。但是,如果存在合并冲突,我们希望持续集成作业失败,以便开发人员可以手动运行合并并解决任何问题


有没有人有过这种设置的经验(最好是在TeamCity,但任何CI服务器都会很有趣)?

这可以通过使用自动合并构建功能在TeamCity中实现

合并将仅在成功生成后执行,但如果合并期间存在任何冲突,则随后将导致生成失败

更多详情请参阅:


希望这能有所帮助。

不久前我写了一个bash脚本来实现这一点。实际上,完整的脚本在我们的github repo中为所有带有
test
标记的打开的PRs执行此操作

相关位:

try_merge()
{
测试-n“$1”
本地分支=$1提交
if!commit=$(git rev parse--verify-q$branch)
然后
错误伪$branch
返回
fi
如果bash-c'set-opipefail;git分支——包含“$commit”| grep-qw master”
然后
已向$branch发出警告
返回
fi
如果git merge--ff仅$branch$commit
然后
好快$branch$commit
返回
fi
如果git合并$branch$commit
然后
良好的合并$branch$commit
返回
fi
git合并--中止
错误中止$branch$commit
返回
}