Esta versão do GitHub Enterprise foi descontinuada em 2021-06-09. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Importar um repositório Git usando a linha de comando

Importar projetos do Git usando a linha de comando é adequado quando seu código existente está hospedado em uma rede privada.

Antes de iniciar, certifique-se de que sabe:

  • Seu nome de usuário GitHub Enterprise Server
  • A URL clone para o repositório externo, como https://external-host.com/user/repo.git ou git://external-host.com/user/repo.git (talvez com um usuário@ na frente do nome do domínio external-host.com)

Como demonstração, usaremos:

  • Uma conta externa denominada extuser
  • Um host Git externo denominado https://external-host.com
  • Uma conta de usuário GitHub Enterprise Server pessoal denominada ghuser
  • Um repositório GitHub Enterprise Server denominado repo.git
  1. Crie um novo repositório em GitHub Enterprise Server. Você importará o repositório Git externo para este novo repositório.
  2. Na linha de comando, faça um clone "vazio" do repositório usando a URL clone externo. Isso criará uma cópia integral dos dados, mas sem um diretório de trabalho para editar arquivos, e garantirá uma exportação limpa e recente de todos os dados antigos.
    $ git clone --bare https://external-host.com/extuser/repo.git
    # Makes a bare clone of the external repository in a local directory
  3. Faça o push do repositório clonado localmente em GitHub Enterprise Server usando a opção "mirror" (espelho), que assegura que todas as referências, como branches e tags, são copiadas para o repositório importado.
    $ cd repo.git
    $ git push --mirror https://hostname/ghuser/repo.git
    # Pushes the mirror to the new GitHub Enterprise Server repository
  4. Remova o repositório local temporário.
    $ cd ..
    $ rm -rf repo.git