Git挂钩来检测获取的回购是否包含文件并停止合并

问题描述 投票:0回答:1

尽管不理想,但是我们的构建过程使远程git repo处于“不同步”状态几分钟,其中的源代码与提交给git的已编译代码/ DB模式转储不匹配。我们已经探索了防止这种情况的方法,但是在不久的将来不可能做到这一点。

我们想实现一个简单的git钩子,当任何开发人员在这种状态下撤下仓库时,都会向他们发出警告。只需检测一个或多个文件的存在即可完成。我们将如何实现一个在git merge(进而也是git pull)上运行的钩子,如果存储库中存在以下任何文件,则该钩子将停止合并并显示终端消息?

git git-merge githooks
1个回答
1
投票

在一般情况下,没有一种方法可以实现无法使合并失败的钩子。有一个pre-merge-commit钩子,但仅在合并不是快进时才适用。由于您的大多数开发人员都可能会将快进合并到他们的master分支中,因此将没有执行此操作的方法。同样,您也可以使用钩子来中止结帐,以防万一。

您可以使用服务器端挂钩或CI检查来防止在这种不良状态下提交代码,或者可以在这种状态下使本地开发环境设置或构建脚本失败,作为替代。

© www.soinside.com 2019 - 2024. All rights reserved.