// aula 05 · Git & GitHub
Repositório remoto — conectando ao GitHub
O repositório local é o .git na sua máquina. O repositório remoto é o que fica no GitHub. Você sincroniza os dois com push (envia) e pull (recebe).
# Conectar um repositório local a um remoto git remote add origin https://github.com/luciliarosa/notebookon.git # Ver os remotos configurados git remote -v # Trocar a URL do remoto git remote set-url origin https://github.com/luciliarosa/repo.git # Enviar para o GitHub (primeiro push) git push -u origin main # Enviar nos próximos (já com -u configurado) git push # Enviar uma branch específica git push origin feature/login # Baixar atualizações do remoto git pull # fetch + merge git pull --rebase # fetch + rebase (histórico mais limpo) git fetch # só baixa, não aplica
Clonando repositórios
# Clonar um repositório existente git clone https://github.com/usuario/repositorio.git # Clonar em uma pasta com nome diferente git clone https://github.com/usuario/repositorio.git minha-pasta # Clonar só a branch específica git clone -b develop https://github.com/usuario/repositorio.git
Pull Request — o coração do trabalho em equipe
Um Pull Request (PR) é uma solicitação para que seu código seja revisado e integrado em outra branch. É a principal forma de colaboração no GitHub — você não faz merge diretamente na main, você pede que alguém revise primeiro. O Guanabara chama isso de "cultura de revisão de código".
Nunca trabalhe direto na main. Crie uma branch com um nome descritivo: feature/adiciona-dark-mode.
Desenvolve a funcionalidade com commits organizados e com mensagens claras.
git push origin feature/adiciona-dark-mode
No site do GitHub, clica em "Compare & pull request". Escreve um título e descrição explicando o que foi feito e por quê.
Outros membros do time analisam o código, deixam comentários, pedem mudanças ou aprovam. Você responde e faz ajustes na mesma branch.
Após aprovado, o PR é mergeado na main pelo botão "Merge pull request" no GitHub. A branch pode ser deletada em seguida.
Fork — contribuindo com projetos de outros
Fork é uma cópia completa de um repositório para a sua conta no GitHub. Usado para contribuir com projetos open source — você faz fork, modifica na sua cópia, e abre um PR para o repositório original.
# Após fazer o fork no GitHub, clone o SEU fork git clone https://github.com/luciliarosa/projeto-original.git # Adicionar o repositório original como "upstream" git remote add upstream https://github.com/autor-original/projeto.git # Sincronizar seu fork com o original git fetch upstream git merge upstream/main
📋 Referência rápida — todos os comandos essenciais
| Comando | O que faz |
|---|---|
| git init | Inicializa um repositório Git na pasta atual |
| git clone <url> | Clona um repositório remoto localmente |
| git status | Mostra o estado atual dos arquivos |
| git add . | Adiciona todos os arquivos ao staging |
| git commit -m "msg" | Salva um snapshot com a mensagem |
| git log --oneline | Histórico de commits resumido |
| git diff | Mostra diferenças ainda não no staging |
| git branch | Lista as branches locais |
| git switch -c <nome> | Cria e muda para uma nova branch |
| git merge <branch> | Une a branch especificada na atual |
| git rebase <branch> | Reaplica commits em cima de outra base |
| git stash | Guarda alterações não commitadas |
| git stash pop | Recupera o último stash guardado |
| git remote add origin <url> | Conecta o repo local ao GitHub |
| git push -u origin main | Envia commits e configura o upstream |
| git pull | Baixa e integra mudanças do remoto |
| git fetch | Baixa mudanças sem integrar |
| git restore <arquivo> | Descarta mudanças no working directory |
| git reset --soft HEAD~1 | Desfaz o último commit, mantém mudanças |
| git revert <hash> | Cria commit que desfaz outro (seguro) |
| git tag v1.0.0 | Marca um commit com uma versão |
| git config --global ... | Configura usuário, e-mail, editor |