Repositórios Remotos (GitHub)
Aula 8 de 12
O que são Repositórios Remotos?
São cópias do repositório hospedadas em servidores (GitHub, GitLab, Bitbucket). Permitem colaboração e backup.
Conectando ao Remoto
# Adicionar um remote
git remote add origin https://github.com/usuario/repositorio.git
# Ver remotos configurados
git remote -v
Enviando Commits (git push)
# Enviar branch main para origin
git push origin main
# Enviar e configurar tracking
git push -u origin main # -u = --set-upstream
# Próximos pushes (já configurado)
git push
Recebendo Commits (git pull)
# Puxar alterações do remoto
git pull origin main
# Se já configurou upstream
git pull
git fetch vs git pull
# Apenas baixa as referências (não altera working directory)
git fetch origin
# Baixa E faz merge automaticamente
git pull origin main
git fetch:
Local: A---B---C Remote: A---B---C---D---E
↓ fetch
Local: A---B---C (origin/main → E)
(main ainda em C)
git pull = fetch + merge:
Local: A---B---C---F (commit de merge)
\ /
E
Clonando Repositórios
# Clonar (já configura origin automaticamente)
git clone https://github.com/usuario/repositorio.git
# Clonar em pasta específica
git clone https://github.com/usuario/repositorio.git minha-pasta
# Clonar apenas um branch
git clone --branch feature https://github.com/usuario/repositorio.git
Branches Remotos
Referências locais para o estado dos branches no servidor:
# Listar branches remotos
git branch -r
# Listar todos (locais + remotos)
git branch -a
# Ver o que o remote tem que você não tem
git log origin/main..main
git log main..origin/main
Configurações de Rede
# Usar SSH em vez de HTTPS
git remote set-url origin [email protected]:usuario/repositorio.git
# Ver url atual
git remote get-url origin
Repositórios remotos são o ponto central de colaboração. Configure corretamente para evitar surpresas com push/pull.