繁体   English   中英

拉/子模块更新时的Git通知

[英]Git Notifications on Pull/Submodule Update

我目前在一个开发团队中,该团队使用MySql,Go和前端的自定义模板引擎来构建网站。 我们使用Git进行版本控制。

在编辑模型结构时,有时我不得不对db结构进行重大更改(我们在此尚处于早期阶段)。 我们在Go代码中构造了架构,所以我要做的就是删除数据库,应用程序将在启动时以正确的结构重新创建一个新的数据库。

但是,我的队友不一定知道这些对数据库的重大更改。 他们进行拉动或子模块更新,大多数情况下可能工作正常,但是当他们移至站点的特定部分或使用特定功能时,会遇到奇怪的数据库错误(请问对吧?)。

我想以某种方式通知我的队友db结构已更改,并且他们需要重建它。 我显然可以将这些信息放入提交消息中,但是然后他们需要在每次拉动之后检查日志。

当用户提取/子模块更新/签出特定的提交时,是否有任何方法可以使消息显示在控制台中?

您可以按照建议使用post-merge钩子,但:

  • 它需要部署在所有客户端上
  • 如果拉动导致任何冲突,它将不会执行

在以下情况下,集中式方法可能是最好的:

  • 一个能够重建数据库并使用消息“ DB Vxxx rebuilt ”创建新提交的版本化脚本
  • 一个带有“ Vxxx ”的版本控制文件,以记住或检测数据库的版本已更改
  • 如果所有推送的提交都没有包含“ DB Vxxx rebuilt ”消息,并且与存储官方数据库的文件的内容( git show )相匹配,则所有开发人员都会在Git存储库托管服务器上使用唯一的pre-receive钩子来拒绝提交版。

这样,开发人员将必须确保他/她的历史记录包括已重建数据库的痕迹,其版本与最后一个修改了db结构的人所存储的版本相匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM