Exercício – Carregar o seu projeto para o GitHub
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:
No canto superior direito de qualquer página, selecione e, em seguida, selecione +Importar repositório.
Em "URL de clone do repositório antigo", digite a URL do projeto que você deseja importar.
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.
Especifique se o novo repositório deve ser público ou privado. Para obter mais informações, consulte Definindo visibilidade do repositório.
Reveja as informações que introduziu e, em seguida, selecione Iniciar importação.
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.
Se houver vários projetos hospedados na URL de clone do seu projeto antigo, escolha o projeto que deseja importar e selecione Enviar.
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.
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:
Depois de importar o repositório, na página de status da importação, selecione Corresponder autores.
Ao lado do autor cujas informações você deseja atualizar, selecione Conectar.
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.com
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
ougit://external-host.com/user/repo.git
(talvez com umuser@
na frente doexternal-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:
Crie um novo repositório no GitHub. Você importa seu repositório Git externo para esse novo repositório.
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
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
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:
Na linha de comando, navegue até o diretório raiz do seu projeto.
Inicialize o diretório local como um repositório Git.
git init -b main
Prepare e confirme todos os arquivos do seu projeto.
git add . && git commit -m "initial commit"
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 comorganization-name/project-name
.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.
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
,--private
ou--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:
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.Abra o Git Bash.
Altere o diretório de trabalho atual para seu projeto local.
Inicialize o diretório local como um repositório Git.
$ git init -b main
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'.
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.
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.
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
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.