Article version: Enterprise Server 2.13

This version of GitHub Enterprise will be discontinued on This version of GitHub Enterprise was discontinued on 2019-03-27. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Importing a Git repository using the command line

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:

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
  1. Create a new repository on GitHub Enterprise. You'll import your external Git repository to this new repository.
  2. 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
  3. 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
  4. Remove the temporary local repository.

    $ cd ..
    $ rm -rf repo.git

Ask a human

Can't find what you're looking for?

Contact us