0

是否可以在提交消息中强制执行英语?

目前,我们项目中的 git commit 消息混合了 2 种语言,团队一直忘记 git 消息的良好实践。我们至少可以显示一个警告吗?

谢谢

4

2 回答 2

0

好吧,您可以使用预提交挂钩来运行脚本,以验证您的提交。

因此,如果您可以找到一个程序,可以确定它是否是有效的英语,那么您可以验证您的提交。

或者您可以使用拉取请求,并拒绝任何非英语提交。

于 2017-12-07T15:56:28.400 回答
0

如果你能找到一个程序查看一段文本并告诉你它是否认为该文本块是英语以外的语言,我想你可以设置挂钩。

寻找/推荐一个以这种方式处理文本的工具对于 SO 来说是题外话;所以我只会说我认为这将是具有挑战性的。但假设你有一个,你将有两个选择。您可以执行以下一项或两项操作:

首先,您可以创建一个预提交挂钩。这是一个在本地运行的钩子,因此必须由每个开发人员设置。(这意味着它只有在开发人员愿意合作的情况下才会运行。)优点是任何问题都会立即被发现。

其次,您可以在共享存储库(例如通常origin)上创建一个预接收挂钩,假设它以允许您设置挂钩的方式托管。这样做的好处是,在设置新的本地存储库时,或者不合作的开发人员都无法绕过它。但是,如果开发人员在本地使用不可接受的消息进行多次提交,然后尝试推送,他们将不得不执行交互式 rebase 之类的操作来编辑所有消息,然后才能推送。

当然,您可以将两者结合使用,以便 pre-receive 挂钩在共享 repo 中强制执行规则的完整性,并且避免返工的愿望使开发人员有动力将本地 pre-commit 挂钩设置为出色地。

如果你想追求这个,我建议你查看 git hook 文档:https ://git-scm.com/docs/githooks

于 2017-12-07T14:01:36.703 回答