Exercício – Carregar o seu projeto para o GitHub

Concluído

Você pode importar repositórios para o GitHub usando o GitHub Importer, a linha de comando ou ferramentas de migração externas.

About GitHub Importer (Sobre o GitHub Importer)

Se você tiver código-fonte no Subversion, Mercurial, Team Foundation Version Control (TFVC) ou outro repositório Git, poderá movê-lo para o GitHub usando o GitHub Importer. O GitHub Importer é uma ferramenta que importa rapidamente repositórios de código-fonte, incluindo confirmações e histórico de revisões, para o GitHub para você.

Durante uma importação, dependendo do sistema de controle de versão do qual você está importando, você pode executar algumas das tarefas a seguir. Autentique-se com seu repositório remoto, atualize a atribuição de autor de confirmação, importe repositórios com arquivos grandes ou remova arquivos grandes se não quiser usar o Git Large File Storage.

Ação de importação Subversion Mercurial TFVC Git
Autenticar com repositório remoto X X X X
Atualizar atribuição de autor de confirmação X X X
Mova arquivos grandes para o Git Large File Storage X X X
Remova arquivos grandes do repositório X X X

Importando um repositório com o GitHub Importer

Se você tiver um projeto hospedado em outro sistema de controle de versão, poderá importá-lo automaticamente para o GitHub usando a ferramenta GitHub Importer. O GitHub Importer não é adequado para todas as importações. Por exemplo, se o seu código existente estiver hospedado em uma rede privada, nossa ferramenta não poderá acessá-lo. Nesses casos, recomendamos importar usando a linha de comando para repositórios Git ou uma ferramenta externa de migração de código-fonte para projetos importados de outros sistemas de controle de versão.

Se você quiser fazer a correspondência entre as confirmações em seu repositório e as contas de usuário do GitHub dos autores durante a importação. Primeiro, certifique-se de que cada colaborador do seu repositório tenha uma conta do GitHub antes de começar a importação.

Repositórios e arquivos individuais estão sujeitos a limites de tamanho. Para obter mais informações, consulte Sobre arquivos grandes no GitHub.

Siga estas etapas para importar um repositório:

  1. No canto superior direito de qualquer página, selecione e, em seguida, selecione +Importar repositório.

    Screenshot of the import repository button.

  2. Em "URL de clone do repositório antigo", digite a URL do projeto que você deseja importar.

    Screenshot of the old repository URL textbox.

  3. Escolha sua conta de usuário ou uma organização para possuir o repositório e, em seguida, digite um nome para o repositório no GitHub.

    Screenshot of the new import repository owner name.

  4. Especifique se o novo repositório deve ser público ou privado. Para obter mais informações, consulte Definindo visibilidade do repositório.

    Screenshot of the new repository public or private options.

  5. Reveja as informações que introduziu e, em seguida, selecione Iniciar importação.

    Screenshot of the begin import button for a new repository import.

  6. Se o seu projeto antigo estava protegido por uma palavra-passe, introduza as suas informações de início de sessão para esse projeto e, em seguida, selecione Submeter.

    Screenshot of the location to input your old repository credentials importer.

  7. Se houver vários projetos hospedados na URL de clone do seu projeto antigo, escolha o projeto que deseja importar e selecione Enviar.

    Screenshot of a selection of projects found at the same URL. project importer.

  8. Se o seu projeto contiver arquivos maiores que 100 MB, escolha se deseja importar os arquivos grandes usando o Git Large File Storage e selecione Continuar.

    Screenshot of files suitable for Git LFS importer.

Quando o repositório é totalmente importado, você recebe um e-mail.

Atualizando a atribuição de autor de confirmação com o Importador do GitHub

Durante uma importação, você pode fazer a correspondência entre confirmações em seu repositório e a conta do GitHub do autor da confirmação. O Importador do GitHub procura usuários do GitHub cujos endereços de e-mail correspondam aos autores das confirmações no repositório que você está importando. Em seguida, você pode conectar uma confirmação ao autor usando seu endereço de e-mail ou o nome de usuário do GitHub do autor.

Atualizando autores de confirmação

Siga estas etapas para atualizar um autor de confirmação:

  1. Depois de importar o repositório, na página de status da importação, selecione Corresponder autores.

    Screenshot of the match authors button.

  2. Ao lado do autor cujas informações você deseja atualizar, selecione Conectar.

    Screenshot of the connect commit author process.

  3. Digite o endereço de e-mail ou o nome de usuário do GitHub do autor e pressione Enter.

Atribuir confirmações a um usuário do GitHub com um endereço de e-mail público

Se um autor de uma confirmação em seu repositório importado tiver uma conta do GitHub associada ao endereço de e-mail usado para criar as confirmações e não definir seu endereço de e-mail de confirmação como privado. Em seguida, o Importador do GitHub faz a correspondência entre o endereço de e-mail associado à confirmação e o endereço de e-mail público associado à sua conta do GitHub e atribui a confirmação à sua conta do GitHub.

Atribuição de confirmações a um usuário do GitHub sem um endereço de e-mail público

Se o autor de uma confirmação em seu repositório importado não definir um endereço de e-mail público em seu perfil do GitHub, ou definir seu endereço de e-mail de confirmação como privado. Em seguida, o Importador do GitHub pode não ser capaz de corresponder ao endereço de e-mail associado à confirmação com sua conta do GitHub.

O autor da confirmação pode resolver esse problema definindo seu endereço de e-mail como privado. Suas confirmações são então atribuídas à , e as confirmações importadas são associadas à <username>@users.noreply.github.comsua conta do GitHub.

Atribuição de compromissos através de um endereço de correio eletrónico

Se o endereço de e-mail do autor não estiver associado à sua conta do GitHub, ele poderá adicionar o endereço à sua conta após a importação, e as confirmações serão atribuídas corretamente.

Se o autor não tiver uma conta do GitHub, o Importador do GitHub atribui suas confirmações ao endereço de e-mail associado às confirmações.

Importando um repositório GitHub usando a linha de comando

Se o GitHub Importer não for adequado para seus propósitos, como se seu código existente estiver hospedado em uma rede privada, recomendamos importar usando a linha de comando.

Antes de começar, certifique-se de que sabe:

  • O seu nome de utilizador no 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 external-host.com nome de domínio)

Para fins de demonstração, utilizamos:

  • Uma conta externa chamada ext-user
  • Um host Git externo chamado https://external-host.com
  • Uma conta de usuário pessoal do GitHub chamada ghuser
  • Um repositório em GitHub.com chamado repo.git

Siga estas etapas para importar seu repositório externo:

  1. Crie um novo repositório no GitHub. Você importa seu repositório Git externo para esse novo repositório.

  2. Na linha de comando, faça um clone "simples" do repositório usando a URL de clone externo. Este comando cria uma cópia completa dos dados, mas sem um diretório de trabalho para editar arquivos, e garante uma exportação limpa e atualizada de todos os dados antigos.

    $ git clone --bare https://external-host.com/ext-user/repo.git
    #Makes a bare clone of the external repository in a local directory 
    
  3. Envie o repositório clonado localmente para o GitHub usando a opção "mirror", que garante que todas as referências, como ramificações e tags, sejam copiadas para o repositório importado.

    $ cd repo.git
    $ git push --mirror https://github.com/ghuser/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 
    

Adicionando código hospedado localmente ao GitHub

Se você tiver código-fonte ou repositórios existentes armazenados localmente em seu computador ou rede privada, poderá adicioná-los ao GitHub digitando comandos em um terminal. Digitando comandos do Git diretamente ou usando a CLI do GitHub.

A CLI do GitHub é uma ferramenta de código aberto para usar o GitHub a partir da linha de comando do seu computador. A CLI do GitHub pode simplificar o processo de adicionar um projeto existente ao GitHub usando a linha de comando. Para saber mais sobre a CLI do GitHub, confira Sobre a CLI do GitHub.

Adicionando um repositório local ao GitHub com a CLI do GitHub

Siga estas etapas para adicionar um repositório local com a CLI do GitHub:

  1. Na linha de comando, navegue até o diretório raiz do seu projeto.

  2. Inicialize o diretório local como um repositório Git.

    git init -b main
    
  3. Prepare e confirme todos os arquivos do seu projeto.

    git add . && git commit -m "initial commit"
    
  4. Para criar um repositório para seu projeto no GitHub, use o gh repo create subcommand. Quando solicitado, selecione Enviar por push um repositório local existente para o GitHub e digite o nome desejado para o repositório. Se você quiser que seu projeto pertença a uma organização em vez de sua conta de usuário, especifique o nome da organização e o nome do projeto com organization-name/project-name.

  5. Siga as instruções interativas. Para adicionar o controle remoto e enviar por push o repositório, confirme sim quando solicitado a adicionar o controle remoto e enviar as confirmações para a ramificação atual.

  6. Como alternativa, para ignorar todos os prompts, forneça o caminho para o repositório com o --source sinalizador e passe um sinalizador de visibilidade (--public, --privateou --internal). Por exemplo, gh repo create --source=. --public. Especifique um controle remoto com o --remote sinalizador. Para empurrar seus compromissos, passe a --push bandeira. Para obter mais informações sobre possíveis argumentos, consulte o manual da CLI do GitHub.

Adicionando um repositório local ao GitHub usando o Git

Siga estas etapas para adicionar um repositório local usando o Git:

  1. Crie um novo repositório no GitHub.com. Para evitar erros, não inicialize o novo repositório com LEIA-ME, licença ou gitignore files. Você pode adicionar esses arquivos depois que seu projeto for enviado por push para o GitHub.

    Screenshot of new repository creation.

  2. Abra o Git Bash.

  3. Altere o diretório de trabalho atual para seu projeto local.

  4. Inicialize o diretório local como um repositório Git.

    $ git init -b main
    
  5. Adicione os arquivos em seu novo repositório local. Este comando também os prepara para a primeira confirmação.

    $ git add .
    # Adds the files in the local repository and stages them for commit. To unstage a file, use 'git reset HEAD YOUR-FILE'.
    
  6. Confirme os arquivos que são preparados em seu repositório local.

    $ git commit -m "First commit"
    # Commits the tracked changes and prepares them to be pushed to a remote repository. To remove this commit and modify the file, use 'git reset --soft HEAD~1' and commit and add the file again.
    
  7. Na parte superior do repositório na página Configuração rápida .com GitHub, selecione o botão Copiar para copiar a URL do repositório remoto.

    screenshot copy remote repository url quick setup

  8. No prompt de comando, adicione a URL para o repositório remoto. Seu repositório local é enviado por push para esse local.

    $ git remote add origin <REMOTE_URL> 
    # Sets the new remote
    $ git remote -v
    # Verifies the new remote URL
    
  9. Envie as alterações em seu repositório local para GitHub.com.

    $ git push origin main
    # Pushes the changes in your local repository up to the remote repository you specified as the origin
    

Ferramentas de migração de código-fonte

Você pode usar ferramentas externas para mover seus projetos para o GitHub. Recomendamos usar o GitHub Importer para importar projetos do Subversion, Mercurial, Team Foundation Version Control (TFVC) ou outro repositório Git. Você também pode usar essas ferramentas externas para converter seu projeto para o Git.

Importando do Subversion

Em um ambiente Subversion típico, vários projetos são armazenados em um único repositório raiz. No GitHub, cada um desses projetos normalmente é mapeado para um repositório Git separado para uma conta de usuário ou organização. Sugerimos importar cada parte do seu repositório Subversion para um repositório GitHub separado se:

  • Os colaboradores precisam fazer check-out ou se comprometer com essa parte do projeto separadamente das outras partes
  • Você deseja que diferentes partes tenham suas próprias permissões de acesso

Recomendamos estas ferramentas para converter repositórios do Subversion para Git:

Importando do Mercurial

Recomendamos hg-fast-export para converter repositórios Mercurial para Git.

Importando do TFVC

Recomendamos git-tfs para mover alterações entre TFVC e Git.

Para obter mais informações sobre como mudar do TFVC (um sistema de controle de versão centralizado) para o Git, consulte Migrar para o Git do controle de versão centralizado.