O CodeCommit é um GitHub dentro da sua conta AWS: repositório Git de verdade (clone, branch, commit, pull request), só que quem entra é decidido pelo IAM — o mesmo usuário e a mesma role que já mandam no resto da conta.
É o "onde o código mora" da esteira de CI/CD na AWS. Empresa com regra rígida de acesso (banco, saúde, governo) prefere o código na mesma conta, com permissão por role e trilha no CloudTrail, em vez de um site de Git separado. Um detalhe que você vai achar em artigo antigo: a AWS fechou o CodeCommit pra clientes novos em julho de 2024 e voltou atrás em novembro de 2025 — hoje ele está disponível pra todo mundo.
Cada um deles roda de verdade no terminal do CLImb, com a mesma saída e as mesmas mensagens de erro que a AWS devolve.
aws codecommit list-repositoriesUSO
aws codecommit list-repositories [--sort-by repositoryName|lastModifiedDate] [--order ascending|descending]
aws codecommit create-repositoryUSO
aws codecommit create-repository --repository-name <nome> [--repository-description <texto>]
aws codecommit get-repositoryUSO
aws codecommit get-repository --repository-name <nome>
aws codecommit put-fileUSO
aws codecommit put-file --repository-name <repo> --branch-name <branch> \ --file-content fileb://<arquivo> --file-path <caminho/no/repo> \ [--parent-commit-id <commit-da-ponta>] [--commit-message <texto>] [--name <autor>] [--email <email>]
aws codecommit list-branchesUSO
aws codecommit list-branches --repository-name <repo>
aws codecommit get-branchUSO
aws codecommit get-branch --repository-name <repo> --branch-name <branch>
aws codecommit get-fileUSO
aws codecommit get-file --repository-name <repo> --file-path <caminho> [--commit-specifier <branch|commit>]
aws codecommit create-branchUSO
aws codecommit create-branch --repository-name <repo> --branch-name <nova> --commit-id <commit>
aws codecommit create-pull-requestUSO
aws codecommit create-pull-request --title <título> \ --targets repositoryName=<repo>,sourceReference=<branch-com-mudança>,destinationReference=<branch-destino> \ [--description <texto>]
aws codecommit list-pull-requestsUSO
aws codecommit list-pull-requests --repository-name <repo> [--pull-request-status OPEN|CLOSED] [--author-arn <arn>]
aws codecommit get-pull-requestUSO
aws codecommit get-pull-request --pull-request-id <id>
aws codecommit merge-pull-request-by-fast-forwardUSO
aws codecommit merge-pull-request-by-fast-forward --pull-request-id <id> --repository-name <repo> [--source-commit-id <commit>]
aws codecommit delete-branchUSO
aws codecommit delete-branch --repository-name <repo> --branch-name <branch>
aws codecommit delete-repositoryUSO
aws codecommit delete-repository --repository-name <repo>
Cada atividade é um pedido de trabalho, do jeito que ele chega no dia a dia — você resolve digitando os comandos, não escolhendo alternativa.
O time de RH vai tirar o código do portal interno de um pendrive (sim, de um pendrive) e colocar num repositório de verdade, dentro da conta AWS. Antes de criar, veja quais repositórios já existem.
Crie o repositório portal-rh com a descrição Portal interno do RH. É o marco da trilha: o código sai do pendrive.
A conta vai acumular repositórios. Liste os repositórios ordenados pela última modificação, do mais recente pro mais antigo.
Uma dev vai clonar o portal-rh no notebook dela e pediu o endereço. Veja o detalhe do repositório.
O script que prepara a máquina de dev nova precisa só da URL de clone do portal-rh, como texto puro.
O repositório está vazio. Crie um README.md com o texto # Portal RH e grave ele na branch main do portal-rh, com a mensagem Primeiro commit. Repositório vazio não pede commit pai.
O primeiro commit criou uma branch. Confira quais branches o portal-rh tem agora.
O próximo commit vai precisar saber qual é a ponta da main. Consulte a branch main do portal-rh e veja o commitId.
Um script de deploy anota em que commit a main estava. Traga só o commitId da main do portal-rh, em texto puro.
O CI precisa do buildspec.yml na raiz do repositório. Crie o arquivo com o texto version: 0.2 e grave ele na main do portal-rh, com a mensagem Adiciona buildspec. Agora a branch já tem commit: o put-file vai exigir o commit pai.
Alguém perguntou o que está escrito no README.md da main. Leia o arquivo direto do repositório portal-rh, sem clonar.
Antes de ligar o CI, confirme que o buildspec.yml está na main do portal-rh — e veja o tamanho dele (fileSize).
A tela de férias coletivas vai ser feita sem mexer na main. Crie a branch ferias-coletivas no portal-rh, a partir da ponta atual da main.
O designer quer testar um layout novo sem compromisso. Crie a branch experimento-layout no portal-rh, também a partir da main.
Grave a tela nova na branch ferias-coletivas: um arquivo ferias.md com o texto ## Ferias coletivas, mensagem Tela de ferias. O commit pai agora é a ponta da ferias-coletivas, não da main.
A tela está pronta, mas nada vai pra main sem revisão. Abra um pull request da ferias-coletivas pra main no portal-rh, com o título Tela de ferias coletivas.
A tech lead quer ver os pull requests do portal-rh. Liste todos.
Na reunião diária só interessa o que ainda está aberto. Liste os pull requests do portal-rh com status OPEN.
Antes de aprovar, a tech lead quer ver o pull request da tela de férias por inteiro: branches, commits e se já foi mesclado.
Um bot do chat avisa quando um PR fecha. Traga só o status do pull request da tela de férias.
Revisão aprovada. Mescle o pull request da tela de férias na main do portal-rh por fast-forward — a main só avança até o último commit da branch.
Bug em produção: o holerite mostra a data errada. Faça o ciclo inteiro no portal-rh: branch hotfix-holerite a partir da main, grave um holerite.md com o texto data corrigida nela (mensagem Corrige data do holerite), abra o pull request pra main (título Hotfix holerite) e mescle.
A tela de férias já está na main. Apague a branch ferias-coletivas do portal-rh pra lista não virar um cemitério.
O layout novo foi descartado. Apague a branch experimento-layout do portal-rh e confira as branches que sobraram.
Alguém criou o repositório prototipo-ponto pra testar uma ideia e esqueceu. Crie pra ver o cenário e apague.
O repositório legado-folha (descrição Folha antiga) foi migrado pra outro lugar e pode sair. Crie pra ver o cenário, apague, e rode o apagar de novo: repare que a segunda vez responde sucesso vazio.
Ler explica. Digitar fixa. No CLImb você roda os comandos de verdade num terminal AWS simulado — o estado persiste entre eles, como na nuvem real.
As 3 primeiras atividades desta trilha são abertas; o resto faz parte do plano Pro.
Começar — 3 atividades grátis