跳至主要内容

删除或更改仓库可见性后,分支会发生什么?

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

警告

  • 如果您删除某人对私有仓库的访问权限,则该私有仓库的任何分支都将被删除。私有仓库的本地克隆将保留。如果团队对私有仓库的访问权限被撤销,或者具有私有仓库访问权限的团队被删除,并且团队成员没有通过其他团队访问仓库的权限,则该仓库的私有分支将被删除。
  • 您有责任确保失去仓库访问权限的人员删除任何机密信息或知识产权。
  • 具有私有仓库管理员权限的人员可以禁止对该仓库进行分支,组织所有者可以禁止对组织中的任何私有仓库进行分支。有关更多信息,请参阅“管理组织的分支策略”和“管理仓库的分支策略”。

删除私有仓库

删除私有仓库时,其所有私有分支也将被删除。

删除公共仓库

删除公共仓库时,将选择最旧的活动公共分支作为新的上游仓库。所有其他仓库都将从此新的上游仓库分叉,后续的拉取请求将发送到此新的上游仓库。

私有分支和权限

私有分支继承上游仓库的权限结构。这有助于私有仓库的所有者控制其代码。例如,如果上游仓库是私有的,并且向团队授予读/写访问权限,则同一团队将对任何私有上游仓库的分支具有读/写访问权限。只有团队权限(而不是个人权限)由私有分支继承。

注意

更改组织的基本权限时,不会自动更新私有分支的权限。有关更多信息,请参阅“设置组织的基本权限”。

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

如果将公共仓库设为私有,其公共分支将被拆分到一个新的网络中。与删除公共仓库一样,会选择现有的公共分支之一作为新的上游仓库,所有其他仓库都从此新的上游仓库派生。后续的拉取请求将发送到此新的上游仓库。

换句话说,即使在上游仓库设为私有之后,公共仓库的分支仍将在其自己的独立仓库网络中保持公共状态。这允许分支所有者继续无中断地工作和协作。如果公共分支没有以这种方式移动到单独的网络中,则这些分支的所有者将需要获取相应的访问权限,才能从(现在为私有的)上游仓库拉取更改并提交拉取请求,即使他们之前不需要这些权限。

删除私有仓库

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

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

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

删除公共仓库

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

进一步阅读