![4df5a8c03657e222919e3706a659788c.png](https://img-blog.csdnimg.cn/img_convert/4df5a8c03657e222919e3706a659788c.png)
overcommit
一个完全可配置和可扩展的Git钩子管理器
git hook 是 git 的强大功能,当触发某一个 git 的事件,例如:add、commit、push 等操作时,会触发执行对应事件的附加操作(hook)。可以用来检测代码质量、commit 描述风格、控制代码质量等。overcommit 就是能让你不写一行代码(配置不算代码),来自定义 hook 要执行的操作。它使用简单、文档详尽、例子众多、社区活跃,值得一试
要求
该项目只在支持Ruby运行时,也就要安装ruby程序
- Ruby 2.4+
Windows
如果您在Windows上使用Overcommit ,请确保ffi在依赖项列表中包含gem。ffi默认情况下,Overcommit不包含gem,因为它显着增加了非Windows平台的安装时间。
依赖
一些 hook 具有第三方依赖性。例如,要为您的SCSS文件添加lint ,您将需要我们的 scss_lint gem。
根据您为存储库启用/禁用的挂钩,您需要确保您的开发环境已经安装了这些依赖项。如果所需的可执行文件不可用,大多数钩子都会显示警告。
如果您使用Bundler来管理Ruby gem依赖项,那么您可能希望使用该gemfile选项来控制在钩子运行期间可用的gem版本。
安装
overcommit通过RubyGems安装。强烈建议您的环境支持运行gem install而不需要sudo权限(管理员权限)。使用Ruby版本管理器 rbenv或者rvm可以在这里提供帮助。
如果你已经安装gem的环境sudo,运行:
gem install overcommit
然后,您可以运行该overcommit命令以将挂钩安装到存储库中。
mkdir important-projectcd important-projectgit initovercommit --install
运行后overcommit --install,将备份Overcommit将替换的存储库的任何现有挂钩。您可以通过运行将所有内容恢复到原来的状态overcommit --uninstall。
自动安装Overcommit Hooks
如果要overcommit用于创建/克隆的所有存储库,请添加以下内容以在shell环境中自动运行:
export GIT_TEMPLATE_DIR="$(overcommit --template-dir)"
该GIT_TEMPLATE_DIR规定的Git来作为模板使用自动填充的目录.git目录。如果您有自己的模板目录,则可能只想将内容复制overcommit --template-dir到该目录。
用法
一旦你安装了钩子overcommit --install,它们将在触发适当的钩子时自动运行。
下图是overcommit可执行支持以下命令行标志:
![94a6c4a394cafd8d79076fe040bb3a68.png](https://img-blog.csdnimg.cn/img_convert/94a6c4a394cafd8d79076fe040bb3a68.png)
更多使用方法,以及钩子选项的一些参数,可看查看官方文档和示例。
开源地址
由于头条审核网址比较严,防止他们误会是推广,所以大家可以自行搜索下载
也可以关注我的头条号后给我发送 `overcommit`,会自动把下载地址发送给你(做了关键字自动回复)
您知道哪些好用的一键安装包,欢迎评论分享,共同探讨学习
更多更优质的资讯,请关注我,你的支持会鼓励我不断分享更多更好的优质文章。