总之,我的问题是:如何确保 gitlab 中所有新创建的存储库都具有默认的初始提交,其中包括我选择的一些文件(挂钩脚本)?
一些背景:我的公司正在改用 git 和 gitlab(远离 svn - hooray!)进行内部开发。
当用户在 gitlab 中创建新仓库时,我希望该新仓库能够自动填充我选择的一些文件。这些文件将是挂钩脚本和安装它们的脚本。这样,当用户克隆他们刚刚创建的存储库时,其中已经包含挂钩脚本(这将强制执行公司提交消息策略),他们可以安装这些脚本。
现在我知道 gitlab 允许您指定一个 cgi 脚本的 url,该脚本将在创建新的 repo 时(以及其他时间)调用。我的想法是在某个地方有一个“骨架”存储库,其中包含适当的初始提交,并让这个 cgi 脚本从该存储库推送到新创建的存储库。
这个计划的问题是权限之一:这个 cgi 脚本需要作为一个设置了 ssh 密钥的用户运行,该用户在新存储库上具有提交访问权限 - 默认情况下在每个新存储库上。
有没有办法确保每个新创建的存储库都可以被 gitlab 中的特定用户写访问?
是否有另一种方法可以确保每个新创建的 repo 都获得指定的初始提交?
有没有更好的方法来确保分发这些我没有想到的钩子脚本?