小编arj*_*jel的帖子

如何使用赫斯基检查git commit消息格式?

我试图强制执行git commit消息策略,以使我的存储库保持整洁。我看过有关服务器端和客户端挂钩的官方文档,然后碰到了husky

到目前为止,我可以与第一个一起工作,但无法设置沙哑,我还有很多东西要学习。主要思想是能够在新的工作站上工作而不必手动设置任何客户端挂钩。

有人可以解释我如何设置哈士奇检查我的提交消息,甚至举个例子吗?

这是project-root/githooks文件夹中的commit-msg钩子:

#!/usr/bin/env ruby

message_file = ARGV[0]
message = File.read(message_file)

$regex = /([resolved|fixed]) #([0-9])* ([A-Z])\w+/

if !$regex.match(message)  
  puts "[POLICY] Your message is not formatted correctly!"  
  puts "Message format must be like:"  
  puts "resolved #123 Case title (for features)"  
  puts "fixed #123 Case title    (for bugs)"  
  puts "First letter of 'Case title' must be capitalized!"  
  exit 1  
end  
Run Code Online (Sandbox Code Playgroud)

我试图将脚本添加到package.json中:

"scripts": {  
  ... : ...,  
  "commitmsg": "sh hooks/commit-msg",  
  ... : ...  
}  
Run Code Online (Sandbox Code Playgroud)

挂钩不起作用。所有消息均通过。如果放在.git / hooks中,它将正常工作。 …

git pre-commit pre-commit-hook husky

5
推荐指数
3
解决办法
7696
查看次数

标签 统计

git ×1

husky ×1

pre-commit ×1

pre-commit-hook ×1