Aula 05: Plataformas de Colaboração 🤝
🎯 Nossa Missão
- Levar o código local para a nuvem.
- Trabalhar em equipe sem sobrescrever o colega.
- Dominar Pull Requests e Code Review.
- Conhecer GitHub, GitLab e Bitbucket.
☁️ Por que usar repositórios remotos?
- Backup Seguro: Se o PC pifar, o código está na nuvem.
- Colaboração: Várias pessoas no mesmo projeto.
- Deploy: Servidores buscam o código de lá.
- Portfólio: Mostrar seu trabalho para o mundo.
🏢 O Big Three das Plataformas
- GitHub: A maior e mais social.
- GitLab: Foco em empresas e CI/CD integrado.
- Bitbucket: Integração nativa com Jira.
🔗 Conectando Local com Remoto
git remote add origin <url-do-servidor> * origin: É o apelido padrão do seu servidor remoto. * Você pode ter mais de um remoto (ex: upstream).
🚀 Enviando Código: git push
O ato de "empurrar" seus commits para a nuvem.
*-u: Salva a preferência (upstream), depois basta usar git push. 📥 Trazendo Código: git pull
Sincronizando as mudanças que outros fizeram. * Executa um fetch (busca) + merge (une). * Mantenha seu código local sempre atualizado!
👯♀️ Clonando um Projeto: git clone
Baixando um repositório que já existe online. * Cria a pasta, inicia o git e baixa todos os arquivos. * Baixa todo o histórico de commits.
🌳 Trabalhando com Branches
O segredo da colaboração segura. mermaid graph LR M((Main)) --- A((Fix A)) M --- B((Feature B)) A -.-> M B -.-> M * Main: Sempre código funcional e testado. * Features: Branches para cada tarefa nova.
🏗️ O Ciclo de Vida de uma Alteração
```mermaid sequenceDiagram participant D as Desenvolvedor participant G as GitHub (Cloud) participant T as Time (Equipe)
D->>D: Cria Branch & Commits
D->>G: git push branch
D->>G: Abre Pull Request (PR)
G->>T: Notifica Time
T->>G: Faz Code Review & Sugestões
D->>G: Ajusta Código
G->>G: Merge para Main
```
📝 O Pull Request (PR)
Não é apenas código, é uma conversa. * Título Claro: O que isso resolve? * Descrição: Explique as mudanças complexas. * Prints/Vídeos: Se houver mudança visual.
🔍 Code Review: A Etapa de Ouro
Por que revisar código alheio? * Encontrar bugs que o autor não viu. * Aprender novas técnicas. * Garantir a padronização do time. * Seja gentil nas críticas!
👯♂️ Fork: Colaboração Externa
Muito comum em Open Source. * Você cria uma cópia do projeto de outra pessoa na sua conta. * Faz as mudanças e envia um PR de volta para o autor original.
🐙 GitHub: Recursos Sociais
- Stars: Curtir um projeto.
- Watch: Receber notificações de mudanças.
- Profile: Seu currículo visual como dev.
🛑 Cuidados com a Segurança
- NUNCA envie senhas (
.env) para o GitHub. - Use Chaves SSH para conexão segura sem senha.
- Ative o Double Factor Authentication (2FA).
⚠️ Lidando com Conflitos (Remoto)
Se você e um colega mudam a mesma linha: 1. O push será rejeitado. 2. Você deve fazer git pull. 3. Resolver o conflito localmente. 4. Fazer novo add/commit/push.
📊 Insights do GitHub
- Network Graph: Visualizar as branches.
- Contributors: Quem mais trabalhou no projeto?
- Dependency Graph: Quais bibliotecas seu código usa?
🏆 Checklist Pro do Dia
- Repositório remoto configurado.
-
git pushrealizado com sucesso. - Entende o papel de uma Branch de Feature.
- Sabe abrir um Pull Request descritivo.
📝 Prática de Hoje
- Criar um Repo Público no GitHub.
- Conectar seu projeto local e fazer Push.
- Editar online, fazer Pull local.
- Simular um PR com um colega.
🏁 Dúvidas?
O código agora é global! 🌎🚀