

# OPS05-BP01 Usar controle de versão
<a name="ops_dev_integ_version_control"></a>

 Use o controle de versão para ativar o rastreamento de alterações e liberações. 

 Muitos serviços da AWS oferecem recursos de controle de versão. Use um sistema de revisão ou de [controle de código-fonte](https://aws.amazon.com/devops/source-control/) como o [Git](https://aws.amazon.com/devops/source-control/git/) para gerenciar código e outros artefatos, como modelos do [AWS CloudFormation](https://aws.amazon.com/cloudformation/) com controle de versão da infraestrutura. 

 **Resultado desejado:** suas equipes colaboram no código. Quando mesclado, o código é consistente e nenhuma alteração é perdida. Os erros são facilmente revertidos por meio do versionamento correto. 

 **Práticas comuns que devem ser evitadas:** 
+  Você está desenvolvendo e armazenando seu código na estação de trabalho. Você teve uma falha de armazenamento irrecuperável na estação de trabalho e seu código foi perdido. 
+  Depois de substituir o código existente pelas alterações, você reinicia a aplicação e ela deixa de ser operável. Não é possível reverter a alteração. 
+  Você tem um bloqueio de gravação em um arquivo de relatório que outra pessoa precisa editar. Ela entra em contato com você solicitando que você interrompa o trabalho para que ela possa concluir as tarefas. 
+  Sua equipe de pesquisa tem trabalhado em uma análise detalhada que moldará seu trabalho futuro. Alguém salvou acidentalmente a lista de compras sobre o relatório final. Não é possível reverter a alteração e você terá que recriar o relatório. 

 **Benefícios de implementar esta prática recomendada:** ao usar recursos de controle de versão, você pode reverter facilmente para estados e versões anteriores reconhecidamente bons e limitar o risco de perda de ativos. 

 **Nível de risco exposto se esta prática recomendada não for estabelecida:** Alto 

## Orientação para implementação
<a name="implementation-guidance"></a>

 Mantenha ativos em repositórios controlados por versão. Fazer isso oferece suporte ao rastreamento de alterações, à implantação de novas versões, à detecção de alterações nas versões existentes e à reversão para versões anteriores (por exemplo, a reversão para um estado reconhecidamente bom no caso de uma falha). Integre os recursos de controle de versão dos sistemas de gerenciamento de configurações aos seus procedimentos. 

## Recursos
<a name="resources"></a>

 **Práticas recomendadas relacionadas:** 
+  [OPS05-BP04 Usar sistemas de gerenciamento de compilação e de implantação](ops_dev_integ_build_mgmt_sys.md) 

 **Vídeos relacionados:** 
+ [AWS re:Invent 2023 - How Lockheed Martin builds software faster, powered by DevSecOps ](https://www.youtube.com/watch?v=Q1OSyxYkl5w)
+ [AWS re:Invent 2023 - How GitHub operationalizes AI for team collaboration and productivity ](https://www.youtube.com/watch?v=cOVvGaiusOI)