转让仓库
您可以将仓库转让给其他用户或组织帐户。
本文内容
关于仓库转让
当您将仓库转让给新所有者时,他们可以立即管理仓库的内容、议题、拉取请求、版本、项目板和设置。
仓库转让的前提条件:
- To transfer a repository that you own to an organization, you must have permission to create a repository in the target organization.
- 目标帐户不得具有相同名称的仓库,或位于同一网络中的复刻。
- 仓库原来的所有者将添加为已转让仓库的协作者。 已转让仓库的其他协作者保持不变。
- 私有复刻无法进行转让。
随仓库一起转让的有哪些内容?
当您转让仓库时,其议题、拉取请求、wiki、星号和查看者也将转让。 如果转让的仓库包含 web 挂钩、服务或部署密钥,它们将在转让完成后保持关联状态。 关于提交的 Git 信息(包括贡献)都将保留。 此外:
-
如果转让的仓库是复刻,则它仍与上游仓库关联。
-
如果转让的仓库有任何复刻,则这些复刻在转让完成后仍与该仓库关联。
-
如果转让的仓库使用 Git Large File Storage,则所有 Git LFS 对象均自动移动。 此转让在后台进行,因此如果您有大量的 Git LFS 对象或者如果 Git LFS 对象本身很大,则进行转让可能需要一些时间。
-
仓库在两个用户帐户之间转让时,议题分配保持不变。 当您将仓库从用户帐户转让给组织时,分配给组织中该成员的议题保持不变,所有其他议题受理人都将被清除。 只允许组织中的所有者创建新的议题分配。 当您将仓库从组织转让给用户帐户时,只有分配给仓库所有者的议题保留,所有其他议题受理人都将被清除。
-
如果转让的仓库包含 GitHub 页面 站点,则指向 Web 上 Git 仓库和通过 Git 活动的链接将重定向。 不过,我们不会重定向与仓库关联的 GitHub 页面。
-
指向以前仓库位置的所有链接均自动重定向到新位置。 当您对转让的仓库使用
git clone
、git fetch
或git push
时,这些命令将重定向到新仓库位置或 URL。 不过,为了避免混淆,我们强烈建议将任何现有的本地克隆副本更新为指向新仓库 URL。 您可以通过在命令行中使用git remote
来执行此操作:$ git remote set-url origin new_url
更多信息请参阅“更改远程仓库的 URL”。
仓库转让和组织
要将仓库转让给组织,您必须在接收组织中具有仓库创建权限。 如果组织所有者已禁止组织成员创建仓库,则只有组织所有者能够转让仓库出入组织。
将仓库转让给组织后,组织的默认仓库权限设置和默认成员资格权限将应用到转让的仓库。
Transferring a repository owned by your user account
您可以将仓库转让给接受仓库转让的任何用户帐户。 在两个用户帐户之间转让仓库时,原来的仓库所有者和协作者将自动添加为新仓库的协作者。
-
在 GitHub Enterprise 上,导航到仓库的主页面。
-
在仓库名称下,单击 Settings(设置)。
-
Click Transfer.
-
Read the warnings and enter the repository name to confirm that you've done so.
-
Type the name of the new owner and click I understand, transfer this repo.
转让您的组织拥有的仓库
If you have owner permissions in an organization or admin permissions to one of its repositories, you can transfer a repository owned by your organization to your user account or to another organization.
-
Sign into your user account that has admin or owner permissions in the organization that owns the repository.
-
在 GitHub Enterprise 上,导航到仓库的主页面。
-
在仓库名称下,单击 Settings(设置)。
-
Click Transfer.
-
Read the warnings and enter the repository name to confirm that you've done so.
-
Type the name of the new owner and click I understand, transfer this repo.