主repo可见性变更时其关联fork会产生哪些变化?
仓库可见性调整对应的Fork联动规则
以下规则基于GitHub平台现行产品逻辑,自建Git实例的规则可能随管理员配置存在差异:
主仓库从Public变更为Private时的Fork变动
- 所有原本处于公开状态的关联Fork,会被系统自动强制转为私有状态,操作即时生效,不会提前向Fork所有者发送确认提醒。
- 被自动转私的Fork所有权仍归属原Fork创建者,仅主仓库所有者、该Fork的所有者本人拥有访问权限,其他普通访客访问时会直接返回404不存在的提示。
- 转私操作不会删除Fork内的任何存量数据,提交记录、Issue、PR、Wiki、Actions配置等所有内容都会完整保留,仅访问权限被收紧。
- 如果Fork在主仓库转私前本身就是私有状态,本次权限调整不会对它产生任何影响,原有访问权限、内容都保持不变。
主仓库后续从Private重新调整为Public时的Fork变动
- 最容易踩坑的点:之前被系统自动转成私有的Fork,不会自动恢复为公开状态,系统不会做反向的权限自动调整,所有这类Fork会持续保持私有,需要Fork所有者手动进入仓库设置页修改可见性。
- Fork所有者手动将仓库改回公开状态时,和主仓库的溯源关联关系不会断裂,跨仓库提PR、同步上游代码的功能都可以正常使用,不会因为中间的私有权限变动出现链路异常。
- 主仓库处于私有状态期间,Fork所有者推送到自己私有Fork里的新提交、新增的内容,在Fork重新公开后会完整保留,不会被系统回滚或清空。
- 主仓库重新公开后新创建的Fork,默认遵循公开仓库的Fork规则,初始状态为公开,不受之前的权限调整历史影响。
补充提示:如果主仓库在私有状态下你删除了部分提交或者敏感内容,记得提醒所有持有旧Fork的所有者在重新公开Fork前做对应清理,不然这些内容会跟着Fork重新公开造成泄露。
内容的提问来源于stack exchange,提问作者Captain Ezio
相关产品推荐
相关产品推荐

