是否可以将共享/公共存储库中的特定分支设置为只读? (我不想让整个存储库只读)
例如,对于除项目经理或执行协调任务的人员以外的大多数人来说,master
应该是只读的。
答案 0 :(得分:1)
不,访问权限是整个存储库。
这意味着,如果您需要这种限制,您需要该回购的私人分叉,只有PM作为协作者:他/她将能够拉出他/她需要。
然后PM可以push --force
回到公共回购的主分支(应该明确宣传主人可以随时更改,并且永远不应该被开发人员直接推送)
或者你可以单独留下第一个回购,并将第二个回购公开(只有从
开发人员可以向他们的本地仓库添加第二个远程引用,第一个是他们推或拉,第二个是在第二个仓库中拉出由PM存储的主要版本。
除此之外,唯一的其他解决方案是您控制的服务器上的中间存储库,您可以在其上添加authorization layer,如gitolite(这将允许只读分支),以及如果提交被视为“有效”,则可以继续推送到GitHub。