🌐 Trabalhando com GitHub
August 30, 2025 · View on GitHub
O GitHub é uma plataforma online que hospeda repositórios Git e facilita a colaboração em equipe, controle de versões e integração com ferramentas externas.
Nesta seção, você aprenderá a configurar SSH, trabalhar com repositórios remotos, sincronizar forks e fechar issues diretamente via commits.
🔑 1. Configurando SSH para autenticação
Evita digitar usuário e senha toda vez que enviar ou baixar alterações.
# Gerar uma nova chave SSH
ssh-keygen -t rsa -b 4096 -C "seuemail@exemplo.com"
# Visualizar chave pública (Linux)
cat ~/.ssh/id_rsa.pub
# Visualizar chave pública (Mac)
cat /Users/<usuario>/.ssh/id_rsa.pub
Adicionando a chave ao GitHub
- Acesse Settings > SSH and GPG keys > New SSH key.
- Cole a chave pública e defina um título identificando sua máquina.
- Teste a conexão:
ssh -T git@github.com
💡 Dica: Use sempre uma chave por máquina e nunca compartilhe a privada.
📦 2. Trabalhando com repositórios remotos
Adicionando um repositório remoto
git remote add origin git@github.com:usuario/repositorio.git
Verificando repositórios remotos
git remote -v
Alterando a URL do remoto
git remote set-url origin git@github.com:usuario/repositorio.git
Removendo um repositório remoto
git remote rm origin
Enviando alterações
git push origin main
Baixando alterações
git fetch origin
git pull origin main
💡 Dica: Sempre use
git fetchantes degit pullpara revisar alterações remotas.
🔀 3. Trabalhando com Fork e Upstream
Quando você deseja contribuir para um repositório de outra pessoa:
- Faça um fork no GitHub.
- Clone seu fork localmente:
git clone git@github.com:seuusuario/repositorio.git
- Adicione o repositório original como upstream:
git remote add upstream git@github.com:autor-original/repositorio.git
- Sincronize alterações do upstream:
git fetch upstream
git checkout main
git merge upstream/main
💡 Dica: Mantenha seu fork atualizado para evitar conflitos antes de criar pull requests.
📝 4. Fechando Issues via Commit
Você pode fechar automaticamente uma issue quando o commit for mergeado:
git commit -m "Corrige bug de login - fix #42"
Palavras-chave suportadas pelo GitHub:
fix, fixes, fixed, close, closes, closed, resolve, resolves, resolved
O número da issue vem da URL: ex: #42.
⚠️ Boas práticas e cuidados
- Nunca compartilhe sua
chave SSH privada. - Evite
push -fem branches compartilhadas. - Trabalhe sempre em branches de feature ou bugfix.
- Antes de abrir um pull request, sincronize sua branch:
git fetch upstream
git rebase upstream/main
ou
git merge upstream/main
- Use mensagens de commit claras e semânticas (
feat:,fix:,chore:). - Para alterações grandes, prefira pull requests pequenos.
- Verifique status e histórico antes de enviar:
git status
git log --oneline --graph --decorate
🌳 Fluxo Visual - GitHub e Repositórios Remotos
flowchart TD
Local[Repositório Local] -->|git push| Origin[GitHub - seu fork]
Origin -->|pull request| Upstream[GitHub - repositório original]
Upstream -->|merge PR| Origin
Local -->|git fetch upstream| Upstream
💡 Resumo Rápido
- Configure SSH para autenticação sem senha.
- Sempre crie branches separadas para cada feature ou correção.
- Mantenha forks atualizados com o upstream.
- Feche issues via commit usando palavras-chave.
- Revise alterações e histórico antes de push ou merge.