我想在我的项目中添加一个git hook。 我创建了它(.git / hooks / pre-push),它在本地工作。
现在我如何将它包含在repo中,所以当我将项目推送到GitHub时,其他人可以在克隆repo时获取钩子?
即使我没有.gitignore文件,也会自动忽略.git文件夹
由于
答案 0 :(得分:3)
目录.git/hooks
不是您工作目录的一部分,因此不会提交也不会推送到回购。
你可以做的是创建(在你的工作目录中)shell脚本文件,它将创建所需的钩子,然后让其他开发人员或用户执行该文件并创建钩子。
此外,GitHub和Bitbucket等允许您创建在特定条件下触发的Web挂钩。在这里,您可以阅读有关Web挂钩的更多信息:https://developer.github.com/webhooks/
如果您在免费服务中使用Bitbucket,则有一项功能可以设置用户可以推送到哪个分支的权限。检查 limit the push powers
我通常的做法是为每个开发人员或公司创建单独的分支,并允许他们只在自己的分支中推送。然后项目经理或主要开发人员可以决定何时合并到主人的分支 这样代码很容易管理。
GitHub缺少Bitbucket的一些功能,但在这种情况下,如果您要求所有开发人员分配回购,然后在他们自己的分叉回购中工作并准备创建拉取请求,则可以实现相同类型的控制所以项目经理或主要开发人员可以审查和合并回购或创建要修复的问题。
这被称为fork and pull
GitHub模型,在这里您可以阅读更多相关信息:https://help.github.com/articles/using-pull-requests/#fork--pull