0 XP

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.

2 semanas1500 XPBadge: Git Guardian

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

BranchesPRMergeRebaseRevertTagsReleasesBashLoopsFunçõesPipesExit codes

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.

Prática

Laboratórios do módulo

  • Conflito de merge resolvido com segurança

    Intermediário

    Criar, diagnosticar e resolver um conflito real, validando o resultado.

    Ver passo a passo
  • Health-check em Bash com retry e exit codes

    Intermediário

    Escrever um script robusto que outros processos possam usar para decidir.

    Ver passo a passo
  • Backup de logs com retenção e restauração testada

    Intermediário

    Automatizar 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?
Boss do módulo: Conflito de Merge