Módulo 3
Git, GitHub e Bash
Git é o alicerce de CI/CD e GitOps: sem histórico limpo e fluxo previsível, automação não é confiável. Você vai dominar branches, PRs, merge versus rebase, revert, tags e releases, além de proteger a main com regras. Na segunda metade, Bash: scripts idempotentes com tratamento de erro que substituem tarefas manuais como health-check e backup de logs.
0/8 itens concluídos
O que você vai saber fazer
- Trabalhar com branches e Pull Requests de forma profissional
- Escolher entre merge, rebase e revert com consciência
- Publicar releases com tags semânticas
- Escrever scripts Bash seguros com set -euo pipefail
- Proteger a branch main com regras e checks obrigatórios
Pré-requisitos
- • Módulo 0 concluído
Tópicos
Entrega do módulo
Script de health-check e de backup de logs em Bash, com main protegida exigindo revisão e CI verde.
Checklist
- ☐ main protegida: sem push direto, PR com aprovação e status check
- ☐ Conflito de merge resolvido manualmente e documentado
- ☐ Tag v1.0.0 publicada com release notes
- ☐ Script com set -euo pipefail, trap e código de saída correto
- ☐ Backup de logs comprimido com retenção definida
Módulo bloqueado
Aprove o exame do módulo anterior para liberar este conteúdo.
Aulas
5 aulas neste módulo
- 1Branches, commits e Pull Requests que passam em revisão40 min · Git, GitHubIniciante+25 XP
- 2Merge, rebase, revert: reescrever ou preservar história45 min · GitIntermediário+25 XP
- 3Tags, releases e versionamento semântico30 min · Git, GitHub Releases, SemVerIntermediário+25 XP
- 4Bash sério: set -euo pipefail, funções e exit codes45 min · Bash, ShellCheckIntermediário+25 XP
- 5Automatizar tarefas de plantão: backup de logs e cron/timers40 min · Bash, tar, cron, systemd timersIntermediário+25 XP
Prática
Laboratórios do módulo
Conflito de merge resolvido com segurança
IntermediárioCriar, diagnosticar e resolver um conflito real, validando o resultado.
Ver passo a passoHealth-check em Bash com retry e exit codes
IntermediárioEscrever um script robusto que outros processos possam usar para decidir.
Ver passo a passoBackup de logs com retenção e restauração testada
IntermediárioAutomatizar backup diário e provar que a restauração funciona.
Ver passo a passo
Troubleshooting típico
Quando quebra
Sintoma: um commit ruim já está na main e em produção. Opções: revert (cria commit que desfaz, seguro em branch compartilhada) ou reset (reescreve histórico, proibido em branch compartilhada). Decisão correta: git revert, deploy da nova versão e postmortem curto explicando por que o CI não pegou.
No CloudShop
Proteger o repositório cloudshop-app e automatizar verificação e backup no host.
Perguntas de entrevista
- Quando você usa rebase e quando usa merge?
- Como reverter algo já publicado sem reescrever histórico?
- O que faz set -euo pipefail e por que é obrigatório em script de automação?