2

是否可以将共享/公共存储库中的特定分支设置为只读?(我不想将整个存储库设为只读)

例如,master除了项目经理或执行协调任务的人之外,大多数人都应该是只读的。

4

1 回答 1

1

不,访问权限是存储库范围的。

这意味着,如果您需要这种限制,您将需要该回购的私人分叉,只有 PM 作为合作者:他/她将能够提取他/她需要的东西。

然后 PM 可以push --force回到公共 repo 的 master 分支(应该明确宣传 master 可以随时更改,并且永远不应该由 devs 直接推送)

或者你可以不理会第一个 repo,将第二个 repo 公开(警告只从 PM 管理的第二个 repo 中提取,永远不要推送)。
开发人员可以向他们的本地仓库添加第二个远程引用,第一个是让他们推送或拉取,第二个是拉取 PM 在第二个仓库中存储的主要发布版本。


除此之外,唯一的其他解决方案是您控制的服务器上的中间存储库,在其之上您可以添加一个授权层,如gitolite(这将允许只读分支),并且如果提交可以继续推送到 GitHub视为“有效”。

于 2013-03-08T06:49:52.257 回答