Transferring a repository

You can transfer repositories to other users or organization accounts.

About repository transfers

When you transfer a repository to a new owner, they can immediately administer the repository's contents, issues, pull requests, releases, project boards, and settings.

Prerequisites for repository transfers:

  • When you transfer a repository that you own to another user account, the new owner will receive a confirmation email. The confirmation email includes instructions for accepting the transfer. If the new owner doesn't accept the transfer within one day, the invitation will expire.
  • To transfer a repository that you own to an organization, you must have permission to create a repository in the target organization.
  • The target account must not have a repository with the same name, or a fork in the same network.
  • The original owner of the repository is added as a collaborator on the transferred repository. Other collaborators to the transferred repository remain intact.
  • Private forks can't be transferred.

If you transfer a private repository to a GitHub Free user or organization account, the repository will lose access to features like protected branches and GitHub Pages. 更多信息请参阅“GitHub 的产品”。

What's transferred with a repository?

When you transfer a repository, its issues, pull requests, wiki, stars, and watchers are also transferred. If the transferred repository contains webhooks, services, secrets, or deploy keys, they will remain associated after the transfer is complete. Git information about commits, including contributions, is preserved. In addition:

  • If the transferred repository is a fork, then it remains associated with the upstream repository.

  • If the transferred repository has any forks, then those forks will remain associated with the repository after the transfer is complete.

  • If the transferred repository uses Git Large File Storage, all Git LFS objects are automatically moved. This transfer occurs in the background, so if you have a large number of Git LFS objects or if the Git LFS objects themselves are large, it may take some time for the transfer to occur. Before you transfer a repository that uses Git LFS, make sure the receiving account has enough data packs to store the Git LFS objects you'll be moving over. For more information on adding storage for user accounts, see "Upgrading Git Large File Storage."

  • When a repository is transferred between two user accounts, issue assignments are left intact. When you transfer a repository from a user account to an organization, issues assigned to members in the organization remain intact, and all other issue assignees are cleared. Only owners in the organization are allowed to create new issue assignments. When you transfer a repository from an organization to a user account, only issues assigned to the repository's owner are kept, and all other issue assignees are removed.

  • If the transferred repository contains a GitHub Pages site, then links to the Git repository on the Web and through Git activity are redirected. However, we don't redirect GitHub Pages associated with the repository.

  • All links to the previous repository location are automatically redirected to the new location. When you use git clone, git fetch, or git push on a transferred repository, these commands will redirect to the new repository location or URL. However, to avoid confusion, we strongly recommend updating any existing local clones to point to the new repository URL. You can do this by using git remote on the command line:

    $ git remote set-url origin new_url
  • When you transfer a repository from an organization to a user account, the repository's read-only collaborators will not be transferred. This is because collaborators can't have read-only access to repositories owned by a user account. For more information about repository permission levels, see "Permission levels for a user account repository" and "Repository roles for an organization."

For more information, see "Managing remote repositories."

Repository transfers and organizations

To transfer repositories to an organization, you must have repository creation permissions in the receiving organization. If organization owners have disabled repository creation by organization members, only organization owners can transfer repositories out of or into the organization.

Once a repository is transferred to an organization, the organization's default repository permission settings and default membership privileges will apply to the transferred repository.

Transferring a repository owned by your user account

You can transfer your repository to any user account that accepts your repository transfer. When a repository is transferred between two user accounts, the original repository owner and collaborators are automatically added as collaborators to the new repository.

If you published a GitHub Pages site in a private repository and added a custom domain, before transferring the repository, you may want to remove or update your DNS records to avoid the risk of a domain takeover. For more information, see "Managing a custom domain for your GitHub Pages site."

  1. 在 GitHub.com 上,导航到仓库的主页面。

  2. 在仓库名称下,单击 Settings(设置)仓库设置按钮

  3. 在“Danger Zone(危险区域)”下,单击 Transfer(转让)转让按钮

  4. 阅读有关转让仓库的信息,然后输入您要将仓库所有权转让至的用户或组织的名称。 有关仓库转让的信息和新所有者用户名输入字段

  5. 根据新所有者的订阅,阅读有关可能失去功能的警告。 有关如何将仓库转让给免费产品使用者的警告

  6. 输入您要转让的仓库的名称,然后单击 I understand, transfer this repository(我了解,转让此仓库)转让按钮

Transferring a repository owned by your organization

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.

  1. Sign into your user account that has admin or owner permissions in the organization that owns the repository.

  2. 在 GitHub.com 上,导航到仓库的主页面。

  3. 在仓库名称下,单击 Settings(设置)仓库设置按钮

  4. 在“Danger Zone(危险区域)”下,单击 Transfer(转让)转让按钮

  5. 阅读有关转让仓库的信息,然后输入您要将仓库所有权转让至的用户或组织的名称。 有关仓库转让的信息和新所有者用户名输入字段

  6. 根据新所有者的订阅,阅读有关可能失去功能的警告。 有关如何将仓库转让给免费产品使用者的警告

  7. 输入您要转让的仓库的名称,然后单击 I understand, transfer this repository(我了解,转让此仓库)转让按钮

此文档对您有帮助吗?

隐私政策

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或者, 了解如何参与。