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 Subversão 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.

Para importar um repositório, siga estas etapas:

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

    Captura de tela do botão importar repositório.

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

    Captura de tela da caixa de texto URL do repositório antigo.

  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.

    Captura de tela do novo nome do proprietário do repositório de importação.

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

    Captura de ecrã das novas opções públicas ou privadas do repositório.

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

    Captura de tela do botão Iniciar importação para uma nova importação de repositório.

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

    Captura de tela do local para inserir seu antigo importador de credenciais do repositório.

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

    Captura de ecrã de uma seleção de projetos encontrados no mesmo URL. importador de projetos.

  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.

    Captura de tela de arquivos adequados para o importador Git Large File Storage.

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

Atualizando a atribuição de autor de commit com o GitHub Importer

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 estado da importação, selecione Associar autores.

    Captura de ecrã do botão de correspondência de autores.

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

    Captura de tela do processo de autor de confirmação de conexão.

  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 à <username>@users.noreply.github.com, e as confirmações importadas são associadas à sua 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. Faça um clone "nú" do repositório utilizando a URL de clone externo. Na linha de comando, digite o seguinte comando. 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 remote e fazer push do repositório, confirme sim quando solicitado a adicionar o remote e fazer push dos commits 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.

    Captura de tela da criação do novo repositório.

  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 do GitHub.com, selecione o botão Copiar para copiar a URL do repositório remoto.

    copiar URL do repositório remoto, captura de ecrã, configuração rápida

  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 em 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.