Pular para conteúdo

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

  1. GitHub: A maior e mais social.
  2. GitLab: Foco em empresas e CI/CD integrado.
  3. 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.

git push -u origin main
* -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 push realizado com sucesso.
  • Entende o papel de uma Branch de Feature.
  • Sabe abrir um Pull Request descritivo.

📝 Prática de Hoje

  1. Criar um Repo Público no GitHub.
  2. Conectar seu projeto local e fazer Push.
  3. Editar online, fazer Pull local.
  4. Simular um PR com um colega.

🏁 Dúvidas?

O código agora é global! 🌎🚀