删除仓库或更改其可见性时,复刻会发生什么变化?
删除仓库或更改其可见性会影响仓库的复刻。
警告:
-
如果您删除某人访问私有仓库的权限,则其对该私有仓库的任何复刻也会被删除。 将保留私人仓库的本地克隆。 如果撤销团队对私有仓库的访问权限,或者删除对私有仓库具有访问权限的团队,并且团队成员无法通过另一个团队访问仓库,则该仓库的私有复刻将被删除。
-
当 LDAP 同步启用后,如果从仓库删除某用户,此用户将失去访问权,但其复刻不会被删除。 如果此用户在三个月内被加入具有原组织仓库访问权限的团队,则其对复刻的访问权限将在下次同步时自动恢复。
-
您负责确保无法访问仓库的人员删除任何机密信息或知识产权。
-
组织所有者可以禁用复刻特定私有仓库或者复刻组织中任何私有仓库的能力。 更多信息请参阅“允许人员复刻组织拥有的私有仓库”和“允许人员复刻组织中的私有仓库”。
删除私有仓库
当您删除私有仓库时,其所有私有复刻也将被删除。
删除公共仓库
当您删除公共仓库时,将选择现有的公共复刻之一作为新的父仓库。 所有其他仓库均从这一新的父仓库复刻,并且后续的拉取请求都转到这一新的父仓库。
私有复刻和权限
私有复刻继承上游或父仓库的权限结构。 例如,如果上游仓库是私有的,并授予团队读/写访问权限,则同一团队对该私有上游仓库的任何复刻拥有读/写权限。 这有助于私有仓库的所有者保持对其代码的控制。
将公共仓库更改为私有仓库
如果将公共仓库设为私有,其公共复刻将拆分到新网络中。 与删除公共仓库一样,选择现有的公共分支之一作为新的父仓库,并且所有其他仓库都从这个新的父仓库中复刻。 后续的拉取请求都转到这一新的父仓库。
换句话说,即使将父仓库设为私有后,公共仓库的复刻也将在其各自的仓库网络中保持公开。 这样复刻所有者便可继续工作和协作,而不会中断。 如果公共复刻没有通过这种方式移动到单独的网络中,则这些复刻的所有者将需要获得适当的访问权限以从(现在私有的)父仓库中拉取更改并提交拉取请求 — 即使它们以前不需要这些权限。
如果公共仓库启用了匿名 Git 读取权限并且该仓库设为私有,则所有仓库的复刻都将失去匿名 Git 读取权限并恢复为默认的禁用设置。 如果将复刻的仓库设为公共,则仓库管理员可以重新启用 Git 读取权限。 更多信息请参阅“为仓库启用匿名 Git 读取权限。”
删除私有仓库
如果将公共仓库设为私有然后删除,其公共复刻将在单独的网络中继续存在。
将私有仓库更改为公共仓库
如果将私有仓库设为公共,则其每个私有复刻都将变为独立的私有仓库并且成为自己新仓库网络的父仓库。 私有复刻绝不会自动设为公共,因为它们可能包含不应公开显示的敏感提交。
删除公共仓库
如果将私有仓库设为公共然后删除,其私有复刻将作为单独网络中的独立私有仓库继续存在。
延伸阅读
- “设置仓库可见性”
- "关于复刻"
- “允许人们对组织拥有的私有仓库复刻”
- “允许人们对组织的私有仓库复刻”