Skip to main content

Como importar um repositório Git externo usando a linha de comando

Se o repositório Git estiver armazenado em um serviço de hospedagem de código que não esteja acessível pela Internet pública, você poderá importar o repositório usando o Git na linha de comando.

Antes de iniciar, certifique-se de que sabe:

  • Seu nome de usuário GitHub
  • A URL de 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 user@ na frente do nome de domínio external-host.com)

Note

Como demonstração, usaremos:

  • Uma conta externa chamada extuser
  • Um host do Git externo chamado https://external-host.com
  • Uma conta pessoal do GitHub chamada ghuser
  • Crie um repositório no GitHub.com chamado repo.git
  1. Crie um repositório no GitHub. 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 externo 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 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://github.com/USER/REPO.git
    # Pushes the mirror to the new repository on GitHub.com
    
  4. Remova o repositório local temporário.

    cd ..
    rm -rf REPO.git
    

Se o repositório que você está importando contiver arquivos grandes, poderá haver um aviso ou um erro. Para saber mais sobre arquivos grandes e como gerenciá-los, confira Sobre arquivos grandes no GitHub.

Leitura adicional