When you transfer a repository to a new owner, they can immediately administer the repository's contents, issues, pull requests, releases, and settings.
- Forking a repository is NOT the same as transferring it. Forking just creates a copy of the original repository.
- If you create a new repository under your account with the same name as the transferred repository, existing redirects to the transferred repository will break. Instead, use a different name for the new repository.
Before you transfer a repository, keep these things in mind:
- When the current owner initiates the transfer, the new owner will receive an email giving the option to accept or reject the transfer. If the new owner doesn't accept the transfer within one day, it won't complete.
- 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.
What's transferred with a repository?
When you transfer a repository, its issues, wiki, stars, and watchers are also transferred. In addition:
- If the transferred repository is a fork, then it remains associated with the upstream repository.
- 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.
- If the transferred repository contains webhooks, services, or deploy keys, they will remain associated after the transfer is complete.
- 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.
- All Git information about commits, including contributions, are preserved.
- All of the issues and pull requests remain intact when transferring a repository.
All links to the previous repository location are automatically redirected to the new location. When you use
git fetch, or
git pushon 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 remoteon the command line:
$ git remote set-url origin new_url
For more information, see "Changing a remote's URL".