更新

  • 2021/06/24 增加本地检查勾子文章链接
  • 2018/05/27 初次发布

介绍

我们总是有一些文件不想被错误的修改并提交。

希望可以在提交或推送时检查。提交时检查要求每一个协作者的仓库中必须设置 pre-commit 钩子。推送时检查只要求在服务器上配置钩子即可。

检查并拒绝任何包含错误文件的提交。

如果想要提交受保护的文件,可以在提交信息的第一行(即提交的标题)中包含文件名。只检查标题是为了防止发生错误。

使用

只需要将 update 脚本放在服务器下 repository/hooks 或 GitLab 仓库下的 repository/custom_hooks

自定义

你可以向脚本中的 rules 数组中添加规则。规则可以使用通配符或相对路径。

1
2
3
4
5
$rules =
[
  "ProjectSettings/*",
  "Assets/Resources/Yourfile.example",
]

下载

networm/GitCheckMiscommittedFile

扩展阅读

服务器端做检查是用于保证文件不会错误地改动,但是发生问题时较难修正,需要用户撤消提交修改内容。

如果可以在提交时就进行检查会更符合 Git 的使用习惯,那么使用 bash 脚本来做这件事情就是最简单的,除了 Git for Windows 以外没有其他依赖,推荐使用: