Before you start, make sure you know:
- Your GitHub Enterprise Server username
- The clone URL for the external repository, such as
git://external-host.com/user/repo.git(perhaps with a
user@in front of the
For purposes of demonstration, we'll use:
- An external account named extuser
- An external Git host named
- A GitHub Enterprise Server personal account named ghuser
- A repository on your GitHub Enterprise Server instance named repo.git
- Create a new repository on GitHub Enterprise Server. You'll import your external Git repository to this new repository.
- On the command line, make a "bare" clone of the external repository using the external clone URL. This creates a full copy of the data, but without a working directory for editing files, and ensures a clean, fresh export of all the old data.
$ git clone --bare https://external-host.com/EXTUSER/REPO.git # Makes a bare clone of the external repository in a local directory
- Push the locally cloned repository to GitHub Enterprise Server using the "mirror" option, which ensures that all references, such as branches and tags, are copied to the imported repository.
$ cd REPO.git $ git push --mirror https://HOSTNAME/USER/REPO.git # Pushes the mirror to the new repository on your GitHub Enterprise Server instance
- Remove the temporary local repository.
$ cd .. $ rm -rf REPO.git
If the repository you are importing contains large files, you may run into a warning or error. For more information on large files and how to manage them, see "About large files on GitHub."