【发布时间】:2019-11-19 12:22:48
【问题描述】:
我的团队正在为该项目使用android repo。我一直面临着一个问题,我想在文档之后为repo 编写我的钩子,但是repo 的文档似乎只允许一个pre-upload 钩子——我需要实现pre-commit 无法正常工作。
有没有人尝试过为 repo 实现 git-hooks 并有任何教程/提示/技巧/guildlines?
【问题讨论】:
我的团队正在为该项目使用android repo。我一直面临着一个问题,我想在文档之后为repo 编写我的钩子,但是repo 的文档似乎只允许一个pre-upload 钩子——我需要实现pre-commit 无法正常工作。
有没有人尝试过为 repo 实现 git-hooks 并有任何教程/提示/技巧/guildlines?
【问题讨论】:
解决方案 1,配置系统范围或全局 core.hooksPath。
git config --system core.hooksPath /path/to/githooks
/path/to/githooks下的钩子会被触发。如果您使用 Gerrit 并且需要 Change-Id,请将 commit-msg 也复制到路径中。
解决方案 2,如果您使用自己的 repo 存储库而不是 Google 的存储库,则可以在 repo/hooks 下添加并提交钩子脚本,以便 repo sync 创建的存储库将创建到 .repo/repo/hooks/* 的软链接。要使用您自己的repo 存储库,您可以在用于运行repo init 的repo 脚本中更改REPO_URL 的值。该值是您自己的repo 存储库的url。
【讨论】:
repo,它需要手动操作才能在 repo sync 之前进行更改(但是你给了我的一个想法是,这里可能有一些项目的初始化脚本)
repo 存储库的分支。将修改后的repo 脚本(用于repo init)交付给所有团队成员,并要求他们替换PATH 中的脚本,一劳永逸。他们不必进行任何其他更改。此外,您可以自定义repo工具以满足更多需求。