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.
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:
- Configure o Git em sua máquina local com seu nome e email.
- Crie um repositório local para o projeto do Sistema de Vendas.
- Adicione arquivos iniciais ao repositório e faça commits com mensagens descritivas.
- Crie branches para desenvolver diferentes funcionalidades do sistema.
- Pratique a mesclagem de branches e resolução de conflitos.
- Crie uma conta no GitHub (se ainda não tiver) e crie um repositório remoto.
- Conecte seu repositório local ao remoto e envie seu código.
- Crie um arquivo README.md detalhado para o projeto.
- Configure um arquivo .gitignore adequado para projetos Node.js.
- 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