Skip to main content

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

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

Warning

  • 如果您删除某人访问私有仓库的权限,则其对该私有仓库的任何复刻也会被删除。 将保留私人仓库的本地克隆。 如果撤销团队对专用存储库的访问权限,或者删除对专用存储库具有访问权限的团队,并且团队成员无法通过另一个团队访问存储库,则该存储库的专用分支将被删除。
  • 启用 LDAP 同步后,如果从存储库删除某用户,用户将失去访问权限,但其分支将不会删除。 如果此用户在三个月内被加入具有原组织仓库访问权限的团队,则其对复刻的访问权限将在下次同步时自动恢复。
  • 您负责确保无法访问仓库的人员删除任何机密信息或知识产权。
  • 对专用 或内部 存储库拥有管理员权限的人可以禁止分叉该存储库,组织所有者可以禁止分叉组织中任何专用或内部存储库。 有关详细信息,请参阅“管理组织的复刻政策”和“管理仓库的复刻政策”。

删除私有仓库

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

删除公共仓库

删除公共存储库时,将选择最旧的活跃公共分支作为新的上游存储库。 所有其他存储库均从这一新的上游存储库创建分支,并且后续的拉取请求都转到这一新的上游存储库。

私有复刻和权限

专用分支继承上游存储库的权限结构。 这有助于私有仓库的所有者保持对其代码的控制。 例如,如果上游仓库是私有的,并授予团队读/写访问权限,则同一团队对该私有上游仓库的任何复刻拥有读/写权限。 专用分支仅继承团队权限(而不是个人权限)。

Note

有关详细信息,请参阅“为组织设置基本权限”。

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

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

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

如果公共存储库启用了匿名 Git 读取权限并且该存储库设为私有,则所有存储库的分支都将失去匿名 Git 读取权限并恢复为默认的禁用设置。 如果将复刻的仓库设为公共,则仓库管理员可以重新启用 Git 读取权限。 有关详细信息,请参阅“启用仓库的匿名 Git 读取权限”。

删除私有仓库

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

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

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

删除公共仓库

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

更改内部仓库的可见性

如果企业策略允许复刻,则内部仓库的任何复刻都将是私有的。 如果更改内部存储库的可见性,组织或个人帐户拥有的任何分支都将保持私有。

删除内部仓库

如果您更改了内部仓库的可见性,然后删除仓库,复刻将继续存在于单独的网络中。

延伸阅读