Importing Git projects using the command line is suitable when your existing code is hosted on a private network.
Before you start, make sure you know:
- Your GitHub Enterprise username
- The clone URL for the external repository, such as
https://external-host.com/user/repo.git
orgit://external-host.com/user/repo.git
(perhaps with auser@
in front of theexternal-host.com
domain name)
For purposes of demonstration, we'll use:
- An external account named extuser
- An external Git host named
https://external-host.com
- A GitHub Enterprise personal user account named ghuser
- A GitHub Enterprise repository named repo.git
- Create a new repository on GitHub Enterprise. You'll import your external Git repository to this new repository.
-
On the command line, make a "bare" clone of the 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 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/ghuser/repo.git # Pushes the mirror to the new GitHub Enterprise repository
-
Remove the temporary local repository.
cd .. rm -rf repo.git