codecamp

GitHub 删除仓库或更改其可见性时,复刻会发生什么变化?

删除仓库或更改其可见性会影响仓库的复刻。

警告:

- 如果您删除某人访问私有仓库的权限,则其对该私有仓库的任何复刻也会被删除。 将保留私人仓库的本地克隆。 如果撤销团队对私有仓库的访问权限,或者删除对私有仓库具有访问权限的团队,并且团队成员无法通过另一个团队访问仓库,则该仓库的私有复刻将被删除。
- 您负责确保无法访问仓库的人员删除任何机密信息或知识产权。
- 对私有或内部仓库拥有管理员权限的人可以禁止对该仓库进行复刻,组织所有者可以禁止对组织中的任何私有或内部仓库进行复刻。 更多信息请参阅“管理组织的复刻政策”和“管理仓库的复刻政策”。

删除私有仓库

当您删除私有仓库时,其所有私有复刻也将被删除。

删除公共仓库

当您删除公共仓库时,将选择现有的公共复刻之一作为新的父仓库。 所有其他仓库均从这一新的父仓库复刻,并且后续的拉取请求都转到这一新的父仓库。

私有复刻和权限

私有复刻继承上游或父仓库的权限结构。 例如,如果上游仓库是私有的,并授予团队读/写访问权限,则同一团队对该私有上游仓库的任何复刻拥有读/写权限。 这有助于私有仓库的所有者保持对其代码的控制。

将公共仓库更改为私有仓库

如果将公共仓库设为私有,其公共复刻将拆分到新网络中。 与删除公共仓库一样,选择现有的公共分支之一作为新的父仓库,并且所有其他仓库都从这个新的父仓库中复刻。 后续的拉取请求都转到这一新的父仓库。

换句话说,即使将父仓库设为私有后,公共仓库的复刻也将在其各自的仓库网络中保持公开。 这样复刻所有者便可继续工作和协作,而不会中断。 如果公共复刻没有通过这种方式移动到单独的网络中,则这些复刻的所有者将需要获得适当的访问权限以从(现在私有的)父仓库中拉取更改并提交拉取请求 — 即使它们以前不需要这些权限。

删除私有仓库

如果将公共仓库设为私有然后删除,其公共复刻将在单独的网络中继续存在。

将私有仓库更改为公共仓库

如果将私有仓库设为公共,则其每个私有复刻都将变为独立的私有仓库并且成为自己新仓库网络的父仓库。 私有复刻绝不会自动设为公共,因为它们可能包含不应公开显示的敏感提交。

删除公共仓库

如果将私有仓库设为公共然后删除,其私有复刻将作为单独网络中的独立私有仓库继续存在。

延伸阅读

GitHub 允许更改从复刻创建的拉取请求分支
GitHub 关于状态检查
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

GitHub 身份验证

在 GitHub 上管理订阅和通知

在 GitHub 上管理活动的订阅

GitHub 组织和团队

GitHub 管理对组织仓库的 Git 访问

GitHub 计费和付款

GitHub 使用议题和拉取请求进行协作

GitHub 在具有代码质量功能的仓库上进行协作

管理在 GitHub 上的工作

GitHub 建立强大的社区

GitHub 管理仓库

GitHub 自定义 GitHub 工作流程

在 GitHub Marketplace 中购买并安装应用程序

通过 GitHub Jobs 寻找人才

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }