Visão Geral do Módulo

Neste módulo, você aprenderá sobre sistemas de controle de versão, com foco no Git e nas plataformas GitHub e GitLab. Essas ferramentas são essenciais para o desenvolvimento de software moderno, permitindo o trabalho colaborativo, o controle de alterações no código e a gestão eficiente de projetos.

Carga Horária

3 horas

Pré-requisitos

Módulo 1

Conteúdo Programático

1. Introdução ao Controle de Versão
  • O que é controle de versão e por que é importante
  • Sistemas de controle de versão centralizados vs. distribuídos
  • História e evolução do Git
  • Benefícios do Git para desenvolvimento de software
2. Configuração e Conceitos Básicos do Git
  • Instalação e configuração inicial do Git
  • Configuração de usuário e email
  • Inicialização de repositórios (git init)
  • Entendendo o ciclo de vida dos arquivos no Git
  • Áreas do Git: working directory, staging area e repository
3. Operações Básicas do Git
  • Adicionando arquivos ao staging area (git add)
  • Criando commits (git commit)
  • Visualizando o histórico de commits (git log)
  • Verificando o status do repositório (git status)
  • Visualizando diferenças entre versões (git diff)
  • Desfazendo alterações (git checkout, git reset, git revert)
4. Trabalhando com Branches
  • O que são branches e por que usá-los
  • Criando e alternando entre branches (git branch, git checkout)
  • Mesclando branches (git merge)
  • Resolvendo conflitos de merge
  • Estratégias de branching (feature branches, release branches)
  • Rebasing vs. Merging
5. Trabalhando com Repositórios Remotos
  • Adicionando repositórios remotos (git remote)
  • Clonando repositórios (git clone)
  • Enviando alterações para o repositório remoto (git push)
  • Obtendo alterações do repositório remoto (git pull, git fetch)
  • Trabalhando com forks
6. GitHub: Plataforma de Hospedagem de Código
  • Criando uma conta no GitHub
  • Criando e configurando repositórios
  • Trabalhando com Issues
  • Pull Requests: criação, revisão e aprovação
  • GitHub Actions: automação de CI/CD
  • GitHub Pages: hospedagem de sites estáticos
  • Colaboração em projetos open source
7. GitLab: Alternativa ao GitHub
  • Diferenças entre GitHub e GitLab
  • Criando uma conta no GitLab
  • Criando e configurando projetos
  • GitLab CI/CD: pipelines de integração contínua
  • Merge Requests no GitLab
  • GitLab Pages
8. Boas Práticas e Fluxos de Trabalho
  • Escrevendo boas mensagens de commit
  • Gitflow: um modelo de branching para equipes
  • GitHub Flow: um fluxo de trabalho simplificado
  • Conventional Commits: padronização de mensagens
  • Gerenciamento de versões com tags
  • Ignorando arquivos com .gitignore

Exercícios Práticos

Para fixar os conceitos aprendidos neste módulo, recomendamos a realização dos seguintes exercícios:

  1. Configure o Git em sua máquina local com seu nome e email.
  2. Crie um repositório local para o projeto do Sistema de Vendas.
  3. Adicione arquivos iniciais ao repositório e faça commits com mensagens descritivas.
  4. Crie branches para desenvolver diferentes funcionalidades do sistema.
  5. Pratique a mesclagem de branches e resolução de conflitos.
  6. Crie uma conta no GitHub (se ainda não tiver) e crie um repositório remoto.
  7. Conecte seu repositório local ao remoto e envie seu código.
  8. Crie um arquivo README.md detalhado para o projeto.
  9. Configure um arquivo .gitignore adequado para projetos Node.js.
  10. Simule um fluxo de trabalho colaborativo com um colega, utilizando pull requests.

Pronto para avançar?

Após dominar os conceitos de Git, GitHub e GitLab, você estará preparado para avançar para o próximo módulo.

Próximo Módulo: JavaScript e Orientação a Objetos