Azure DevOps项目中能否将单个私有仓库设为公开?如何操作?
Azure DevOps单个仓库公开的可行性及操作方案
首先明确:无法在私有项目下单独将某个仓库设置为公开——Azure DevOps的项目可见性(私有/内部/公开)会约束其下所有资源的访问权限,私有项目内的所有仓库默认继承私有属性,无法单独突破。
如果要实现单个仓库公开,有两种可行方案:
方案一:调整项目可见性,单独保护其他仓库
- 将项目改为公开
- 进入目标项目,点击右上角的齿轮图标打开项目设置
- 左侧导航选择「常规」→「项目可见性」
- 切换可见性为「公开」,确认系统弹出的警告(公开项目下的资源默认对所有匿名用户开放)
- 限制其他仓库的访问权限
- 进入需要保持私有的仓库,点击仓库页面右上角的齿轮图标打开仓库设置
- 左侧导航选择「权限」,找到「匿名」用户组
- 将该组的「读取」权限设置为「拒绝」,这样该仓库仅授权用户可访问
- 目标公开仓库保留默认的匿名读取权限即可
方案二:创建独立公开项目同步代码
如果不想改变原私有项目的可见性,可以单独创建公开项目来托管目标仓库:
- 在Azure DevOps中新建一个公开项目,在项目内创建空白仓库
- 在本地克隆原私有仓库,添加公开仓库作为远程:
git remote add public https://dev.azure.com/[你的组织名]/[公开项目名]/_git/[公开仓库名] - 将代码推送到公开仓库:
git push public main # 替换为你的主分支名,如master - 后续可以通过Azure Pipelines或自定义脚本,实现原仓库代码更新后自动同步到公开仓库
注意:公开仓库后,所有代码、提交历史、分支、PR记录都会对匿名用户可见,请确保仓库内无敏感信息后再操作。
内容的提问来源于stack exchange,提问作者tadejcek
相关产品推荐
相关产品推荐

