Antes de começar
Crie uma conta no Github e adicione um novo repositório. Esta parte é relativamente simples e conta com ajuda do próprio Github durante o processo.
Ambiente de instalação
Neste artigo as configurações foram realizadas utilizando o Linux Slackware 15.0 e com as ferramentas nativas Git versão 2.39.4 e OpenSSH 9.3p2. Os comandos usados neste material devem funcionar em qualquer outra distribuição Linux com o Git e SSH instalados.
Começando
Assumindo um projeto chamado telazul, primeiro iniciemos o Git neste diretório:
Shell
# Entra no diretório cd telazul/ # Inicia o Git git init # Adiciona todos os arquivos do diretório atual git add . # Salve permanentemente git commit -m "Commit inicial: adicionando arquivos" # Renomeia o branch principal de master para main git branch -m master main
Os comandos acima são usados para iniciar o Git no diretório do projeto, adicionar a arvore de arquivos e salvar seus estados atuais com uma mensagem informativa.
Esses passos são feitos para usar o Git, independente se o projeto será usado no GitHub ou não. Lembre-se que o Git funciona de forma distribuída, significando que não é necessário ter um servidor central para usá-lo ou mesmo uma conexão de internet.
No final renomeamos o branch local principal de master para main com a intenção de manter a compatibilidade com o GitHub, que usa o nome main no branch principal. Sem esta alteração, ao fazermos o upload o projeto seria adicionado a um branch alternativo chamado master.
Configurando acesso SSH ao GitHub
O projeto será transferido usando SSH que é uma forma segura e prática de transferir arquivos pela internet.
Vamos criar as chaves que serão usadas como credenciais para fazer o login seguro no GitHub sem necessidade de digitar uma senha.
# Cria as chaves usando o algoritmo ed25519
ssh-keygen -t ed25519
Quando perguntado pressione para manter localização padrão das chaves e para usar uma senha em branco. Se você já possui chaves criadas compatíveis com o GitHub não precisa criar uma nova.
Entre computadores usando Linux a chave pública pode ser transferida usando o comando ssh-copy-id. No GitHub é preciso copiar e colar a chave na interface gráfica da plataforma. Copie o texto da chave recém criada, lembre-se de usar o arquivo terminado em .pub, que contém a chave pública:
cat /home/seu-usuário/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEDbDtQNhBvGd292FgKDRgqhiXGiLHo32ZYXCSS017d5 seu-usuário@nome-do-host
Copie a linha iniciada com ssh-ed25519, acesse o GitHub,
no menu com seu avatar , depois > .Você também pode usar o link direto: https://github.com/settings/keys.
Clique em Title, cole a chave pública no campo Key e clique em .
, adicione um título ao campoNa configuração deverá aparecer algo como:
Subindo o projeto no GitHub
O comando abaixo adiciona o apelido origin ao repositório remoto com o mesmo conteúdo do projeto. É possível adicionar múltiplos repositórios remotos e origin é o nome padrão utilizado pelo Git.
git remote add origin git@github.com:seu-usuário/seu-repositório.git
Lembre-se executar o comando acima dentro da pasta do seu projeto e de alterar os valores de seu-usuário e seu-repositório com as suas informações.
Finalmente, o próximo passo é fazer uma cópia do projeto para o repositório remoto em GitHub:
git push -u -f origin main
- -u (ou --set-upstream) define origin como referência. Isso permit usar os comandos git push e git pull sem a necessidade de informar o repositório remoto.
- -f (ou --force) irá sobrescrever tudo no repositório remoto, usado quando o comando se recusa a concluir a atualização.
Atualizando o projeto
Entre no site GitHub e crie o arquivo README com algum conteúdo. Para sincronizar essas alterações no repositório remoto com o local, entre na pasta do projeto e execute:
git pull
Como citado anteriormente, ao subir o projeto com o comando git push usando o parâmetro -u, o repositório em GitHub será usado como referência e não será necessário indicar o nome origin no comando. A atualização será aplicada ao branch local corrente.
Verifique que o arquivo README criado remotamente agora esta presente na pasta local do projeto. Edite o arquivo no repositório local, adicione uma nova linha em README e depois:
git commit -a -m "update readme" git push
O parâmetro -a prepara automaticamente todos os arquivos que foram modificados ou apagados, porém novos arquivos serão ignorados. Use git add para novos arquivos. O -m indica a mensagem de commit. O git push atualiza o repositório remoto em GitHub com as alterações recentes na pasta local do projeto.