跳至主要内容

当仓库被删除或更改可见性时,分叉会怎样?

删除仓库或更改其可见性会影响该仓库的分叉。

警告

  • 如果您移除某人对私有仓库的访问权限,则该私有仓库的任何其分叉会被删除。私有仓库的本地克隆会被保留。如果某个团队对私有仓库的访问被撤销,或拥有该私有仓库访问权限的团队被删除,且团队成员未通过其他团队获得该仓库的访问权限,则该仓库的私有分叉会被删除。
  • 您有责任确保失去仓库访问权限的人删除任何机密信息或知识产权。
  • 拥有私有仓库管理员权限的人员可以禁止对该仓库进行分叉,组织所有者可以禁止组织内任何私有仓库的分叉。更多信息,请参阅为组织管理分叉策略为仓库管理分叉策略

删除私有仓库

当您删除私有仓库时,其所有私有分叉也会被删除。

删除公共仓库

当您删除公共仓库时,最早的活跃公共分叉会被选为新的上游仓库。所有其他仓库都从该新的上游仓库分叉,后续的拉取请求也会发送到这个新的上游仓库。

私有分叉和权限

私有分叉继承上游仓库的权限结构。这帮助私有仓库的所有者保持对代码的控制。例如,如果上游仓库是私有的并且授予团队读/写访问权限,则相同的团队对该私有上游仓库的任何分叉也拥有读/写访问权限。只有团队权限(而非个人权限)会被私有分叉继承。

注意

当您更改组织的基础权限时,私有分叉的权限不会自动更新。欲了解更多信息,请参阅 为组织设置基础权限

将公共仓库改为私有仓库

如果将公共仓库设为私有,其公共分叉会被拆分到一个新的网络中。与删除公共仓库的情况相同,现有的一个公共分叉会被选为新的上游仓库,所有其他仓库都从该新的上游仓库分叉。后续的拉取请求会发送到这个新的上游仓库。

换句话说,即使上游仓库被设为私有,公共仓库的分叉仍会在各自独立的仓库网络中保持公共状态。这使得分叉所有者能够不中断地继续工作和协作。如果公共分叉没有以这种方式迁移到独立网络,其所有者将需要获取相应的访问权限,以从(现已私有的)上游仓库拉取更改并提交拉取请求——尽管他们在之前并不需要这些权限。

警告

  • 将公共仓库设为私有将永久移除那些将不再拥有该仓库访问权限的用户的星标和关注者。如果以后您决定将仓库设为公开,则无法恢复这些星标和关注者,这会影响仓库的排名。
  • 依赖关系图和 Dependabot 警报将保持启用,并拥有对该仓库进行只读分析的权限。除非为该仓库启用代码安全,否则任何自定义的 Dependabot 警报规则将被禁用。
  • 除非为该仓库启用代码安全,否则代码扫描将不可用。
  • 当前的分叉将保持公共,并且会与此仓库分离。

删除私有仓库

如果将公共仓库设为私有后再删除,其公共分叉仍会在独立网络中继续存在。

将私有仓库改为公共仓库

当私有仓库被设为公开时,该仓库中的所有提交(包括之前推送到该仓库私有分叉的提交)都会迁移到一个新的公共仓库网络,并对所有人可见。之前创建的私有分叉仍保持私有,但会与已公开的原始仓库断开连接。每个私有分叉将成为一个独立的私有仓库,并形成自己的独立仓库网络。这些网络中的任何新更改都无法从已公开的原始仓库访问。

删除公共仓库

如果私有仓库被设为公开后再删除,其私有分叉将以独立的私有仓库形式继续存在于独立网络中。

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.