是否可以在提交消息中强制执行英语?
目前,我们项目中的git commit消息是两种语言的混合,团队一直在忘记git消息的良好实践。我们至少可以发出警告吗?
由于
答案 0 :(得分:0)
如果你能找到一个程序来查看一个文本块,并告诉你它是否认为该文本块是英语以外的语言,我想你可以设置钩子。
找到/推荐以这种方式处理文本的工具对于SO来说是偏离主题的;所以我只会说我觉得这很有挑战性。但假设你有一个,你会有两个选择。您可以执行以下一项或两项操作:
首先,您可以创建预提交挂钩。这是一个本地运行的钩子,因此必须由每个开发人员设置。 (这意味着只有开发人员自愿合作才能运行。)优点是任何问题都会立即被抓住。
其次,您可以在共享仓库上创建一个预接收挂钩(例如通常为origin
),假设它以允许您设置挂钩的方式托管。这样做的优点是,在设置新的本地仓库时,或者由不合作的开发人员不能意外地规避它。但是,如果开发人员在本地提交了几个不可接受的消息提交然后尝试推送,他们就必须做一些像交互式rebase之类的事情来编辑所有消息,然后才能推送。
当然,您可以组合使用这两者,以便预接收挂钩在共享仓库中强制执行规则的完整性,并且避免返工的需求使开发人员有动力进行设置本地预提交钩子也是。
如果您想继续这样做,我建议您查看git hook文档:https://git-scm.com/docs/githooks
答案 1 :(得分:0)
好吧,您可以使用预提交挂钩,运行脚本,验证您的提交。
因此,如果您可以找到一个程序,可以确定它是否是有效的英语,那么您可以验证您的提交。
或者您可以使用拉取请求,并拒绝任何非英语提交。