使用GitHub管理多个用户
有谁能向我请教一件事吗 我们有一个项目,我们刚刚决定雇佣更多的程序员来做这个项目。 到目前为止,我是唯一一个在GitHub上备份代码的程序员。 但是现在我需要找到一种安全的方法来管理多个程序员 所以有一个私有项目的主分支,其他程序员应该能够克隆它。 但他们不应该能够将更改提交给主分支本身。 也许他们应该创建自己的分支,并在那里提交更改。 我应该是唯一一个能够审查他们的工作的人,如果工作正常,我会将其合并到master branch 有人能告诉我应该怎么设置吗? 或者发送一些好的教程?使用GitHub管理多个用户,github,Github,有谁能向我请教一件事吗 我们有一个项目,我们刚刚决定雇佣更多的程序员来做这个项目。 到目前为止,我是唯一一个在GitHub上备份代码的程序员。 但是现在我需要找到一种安全的方法来管理多个程序员 所以有一个私有项目的主分支,其他程序员应该能够克隆它。 但他们不应该能够将更改提交给主分支本身。 也许他们应该创建自己的分支,并在那里提交更改。 我应该是唯一一个能够审查他们的工作的人,如果工作正常,我会将其合并到master branch 有人能告诉我应该怎么设置吗? 或者发送一些好的教程? 非常感谢实
非常感谢实现这一点的最佳方法是使用预接收钩子,它查看执行提交的人的用户名以及他们试图提交的分支。如果用户名不在允许的用户列表中,且分支是主分支,则拒绝推送 e、 g
使用GitHub时,最好、最简单的方法是使用。在您的情况下,每个程序员只获得对存储库的拉式访问权,并且必须对其进行锥化。当他或她准备好进行更改时,程序员会向您发送一个请求。然后检查请求,如果确定,则将其合并到主存储库中。协作编码是Github背后的关键所在。下面是一个说明性的工作流程,让您开始。类似的开发流程对于开源项目(本质上必须通过互联网工作)是绝对必要的。事实上,很多开源项目都使用Github。你也可以使用这个过程;尽管有一些警告,我已经在底部列出了 理解此工作流的关键是每个开发人员将管理2个存储库:
如果您只有几个贡献者,那么您可以通过使用而不是Github来获得一个免费的私有存储库。他们有一个免费托管私人回购的选项,其工作流程与我上面概述的大致相同。最简单的方法是让合作者为您的存储库提供服务,并使用拉式请求。无需使用分支。非常感谢。如果你建议将其作为访问控制,那么我必须让你失望,因为如果有人真的想要,这将在两秒钟内被破坏。关于你的免责声明:如果一个分支是私有存储库,那么该分支也是私有的,并且不算作任何人的单独私有回购(无额外付款).您知道如何让用户使用私有存储库吗?我只是看到他们不能通过URL访问私有项目(简单的404错误),除非他们被标记为合作者。但是,协作者不仅可以分叉,还可以提交到主存储库,这正是我需要防止的。我需要注册一个公司账户还是什么?@SergeVinogradoff我错了,你只能在公司注册。如果存储库属于某个组织,您可以创建一个对repo具有只读访问权限的团队。是的,我就是这么做的。很棒的工具。谢谢
#!/bin/bash
allowedUsers=( 'bob' 'john' 'george' ); # list of allowed usernames
while read oldrev newrev ref ; do
echo ${allowedUsers[@]} | grep -q $(whoami);
if [ $? -eq 1 ] && [ "$ref" = 'refs/heads/master' ] ; then
echo "You are not allowed to push to master branch";
exit 1;
fi
done