Visão Geral
O curso Git for Distributed Software Development fornece uma compreensão completa e prática do Git, a principal ferramenta de controle de versão distribuído utilizada em projetos de software no mundo todo.
Durante o curso, os participantes aprenderão desde os fundamentos até práticas avançadas de colaboração em projetos distribuídos, incluindo branching strategies, pull requests, integração com plataformas como GitHub, GitLab e Bitbucket, além de boas práticas para equipes de desenvolvimento ágeis e distribuídas.
Objetivo
Após realizar este curso Git for Distributed Software Development, você será capaz de:
- Compreender os fundamentos do controle de versão distribuído.
- Utilizar comandos essenciais e avançados do Git.
- Colaborar de forma eficiente em projetos de software distribuídos.
- Aplicar estratégias de branching e fluxo de trabalho (Git Flow, GitHub Flow, trunk-based).
- Integrar Git a pipelines CI/CD em ambientes de desenvolvimento modernos.
Publico Alvo
- Desenvolvedores de software que desejam dominar Git.
- Engenheiros de DevOps e profissionais de integração contínua.
- Times de desenvolvimento distribuídos ou remotos.
- Estudantes e profissionais que buscam capacitação em controle de versão moderno.
Pre-Requisitos
- Conhecimentos básicos em desenvolvimento de software.
- Familiaridade com linha de comando.
- Noções de colaboração em equipe em projetos de software (desejável, mas não obrigatório).
Materiais
Inglês + Exercícios + Lab Pratico
Conteúdo Programatico
Módulo 1: Introdução ao Git e Controle de Versão
- O que é controle de versão e por que usá-lo
- Git vs. sistemas centralizados (SVN, CVS)
- Conceitos fundamentais: snapshots, commits, branches
- Configuração inicial do Git
Módulo 2: Comandos Essenciais do Git
- Criando repositórios (local e remoto)
- Adicionando e confirmando mudanças (
add
, commit
, status
, log
)
- Navegando no histórico de commits
- Trabalhando com arquivos (undo, restore, reset)
Módulo 3: Colaboração em Projetos Distribuídos
- Clonando e sincronizando repositórios (
clone
, fetch
, pull
, push
)
- Trabalhando com branches (
branch
, checkout
, switch
)
- Mesclagem de branches (
merge
, rebase
)
- Resolvendo conflitos de merge
Módulo 4: Estratégias de Branching e Fluxos de Trabalho
- Git Flow
- GitHub Flow
- Trunk-based development
- Melhores práticas para equipes distribuídas
Módulo 5: Recursos Avançados do Git
- Stashing, tagging e cherry-pick
- Reflog e recuperação de commits perdidos
- Submódulos e repositórios monorepo
- Hooks no Git
Módulo 6: Integração com Plataformas e DevOps
- Trabalhando com GitHub, GitLab e Bitbucket
- Pull Requests e Code Reviews
- Integração com CI/CD (ex.: GitHub Actions, GitLab CI)
- Automação de pipelines usando Git
Módulo 7: Observabilidade, Segurança e Boas Práticas
- Assinatura de commits (GPG e SSH)
- Proteção de branches e workflows de aprovação
- Gerenciamento de credenciais com Git Credential Manager
- Boas práticas em projetos open-source e corporativos
Módulo 8: Laboratórios Práticos
- Criando e configurando um repositório Git do zero
- Colaboração com múltiplos desenvolvedores em um projeto distribuído
- Implementando Git Flow em um time ágil
- Integração de Git com pipeline de CI/CD
TENHO INTERESSE