Pular para o conteúdo
</>RoByte

Buscar cursos e aulas

Aulas do curso

Vídeo em breve

Por enquanto, esta aula está disponível só em texto — o vídeo entra assim que ficar pronto.

GitHub e colaboração

GitHub: repositórios remotos

Criar um repositório no GitHub, autenticar com chave SSH e sincronizar com clone, push, fetch e pull. · 18 min

Até aqui tudo ficou no seu computador. O GitHub hospeda repositórios Git na internet, o que dá três vantagens: backup do seu código, acesso de qualquer máquina e colaboração com outras pessoas. Um repositório na internet é chamado de remoto (remote), e o apelido padrão dele é origin.

Criando o repositório

  1. Crie uma conta em github.com.
  2. Clique em New repository, escolha um nome e decida entre público (qualquer pessoa vê) ou privado (só quem você convidar).
  3. Se você já tem um projeto local, crie o repositório vazio, sem README.

Autenticando com chave SSH

Para o seu computador provar ao GitHub quem você é sem digitar senha toda hora, a forma mais prática é uma chave SSH:

ssh-keygen -t ed25519 -C "seu-email@exemplo.com"

Aceite os padrões. Isso gera duas chaves: a privada (fica só na sua máquina, nunca compartilhe) e a pública, que você cadastra no GitHub. Copie o conteúdo da pública:

cat ~/.ssh/id_ed25519.pub

No GitHub, vá em Settings, SSH and GPG keys, New SSH key, cole o conteúdo e salve. Teste a conexão:

ssh -T git@github.com

Dica

Se preferir não mexer com SSH, o GitHub CLI resolve a autenticação com um comando: instale o gh e rode gh auth login. Ele guia você pelo login no navegador.

Conectando o projeto local ao GitHub

Com o repositório criado, o GitHub mostra os comandos. Para um projeto que já existe na sua máquina:

git remote add origin git@github.com:seu-usuario/seu-repo.git
git branch -M main
git push -u origin main

O -u só é necessário na primeira vez: ele liga a sua main local à main remota, e depois basta git push. Confira o endereço cadastrado com git remote -v.

Baixando e sincronizando

git clone git@github.com:seu-usuario/seu-repo.git   # copia um repositório inteiro
git fetch                                           # baixa novidades, sem mexer nos seus arquivos
git pull                                            # fetch + merge: traz as novidades para a branch atual
git push                                            # envia seus commits para o GitHub

Se você tentar dar push e o GitHub recusar dizendo que o remoto tem commits que você não tem, o recado é: faça git pull primeiro, resolva algum conflito se aparecer, e só então dê push de novo.

Atenção

Nunca suba senhas, tokens ou chaves para o GitHub, nem em repositório privado. Um repositório privado hoje pode virar público amanhã, ou ser acessado por alguém que você convidou. Segredos ficam no .env, e o .env fica no .gitignore.

O README

O arquivo README.md na raiz é a “capa” do projeto: o GitHub o exibe automaticamente na página do repositório. Escreva nele o que o projeto faz, como instalar e como usar. É escrito em Markdown, o mesmo formato usado nas aulas deste site.

Exercícios

Exercício

1. Aquecimento. Crie sua conta (se ainda não tem), configure a chave SSH e confirme que ssh -T git@github.com responde com o seu usuário.

Exercício

2. Publicando. Pegue o repositório que você criou no módulo anterior, crie um repositório vazio no GitHub e envie tudo com git push. Abra a página do repositório e confira que seus commits estão lá.

Exercício

3. Desafio. Simule duas máquinas: faça git clone do repositório em outra pasta. Faça um commit e push em uma das cópias, e traga a mudança para a outra com git pull. Depois provoque o erro de push recusado: faça commits diferentes nas duas cópias e tente enviar as duas. Como você resolveu?