# 3.2  O que é controle de versão?

## 🧠 Entendendo o Conceito

**Controle de versão** é como um **histórico de salvamentos inteligentes** para seus projetos. Ele permite que você:​

* 💾 **Salve diferentes versões** do seu trabalho.
* 🔙 **Volte no tempo** para recuperar versões anteriores.
* 👥 **Trabalhe em equipe** sem bagunçar os arquivos.
* 🕵️ **Veja quem fez o quê**, quando e por quê.

Imagine que você está escrevendo uma redação e, de repente, percebe que a versão anterior estava melhor. Com o controle de versão, é fácil voltar àquela versão sem perder nada.​

## 🎮 Um Exemplo do Dia a Dia

Pense em um jogo de videogame onde você pode salvar o progresso em diferentes pontos. Se algo der errado, você pode carregar um salvamento anterior e tentar novamente.​

O controle de versão funciona de forma semelhante para projetos de programação:​

* 🧩 **Salva pontos importantes** do seu projeto.
* 🛠️ **Permite experimentar** sem medo de estragar tudo.
* 🔄 **Facilita a colaboração** com outras pessoas.

## 🛠️ Tipos de Sistemas de Controle de Versão

Existem diferentes formas de implementar o controle de versão:​

1. **Manual**: Copiar arquivos para pastas diferentes com nomes como "versão\_final", "versão\_final2", etc. Pode ser confuso e propenso a erros.
2. **Centralizado**: Um servidor central armazena todas as versões, e os colaboradores acessam esse servidor. Exemplo: Subversion (SVN).
3. **Distribuído**: Cada colaborador tem uma cópia completa do projeto, incluindo todo o histórico de versões. Exemplo: Git.​

[O **Git** é um sistema de controle de versão distribuído, o que significa que você pode trabalhar offline e ainda ter acesso a todo o histórico do projeto.](https://www.atlassian.com/br/git/tutorials/what-is-git?)

## 🚀 Por que usar controle de versão?

* 🛡️ **Segurança**: Evita a perda de trabalho importante.
* 📈 **Organização**: Mantém o projeto estruturado e compreensível.
* 🤝 **Colaboração**: Facilita o trabalho em equipe, permitindo que várias pessoas trabalhem no mesmo projeto simultaneamente.
* 🔍 [**Rastreabilidade**: Você pode ver quem fez cada alteração e por quê.​](https://www.atlassian.com/br/git/tutorials/source-code-management?)

[Segundo a Atlassian, uma das principais empresas de desenvolvimento de software, o controle de versão é essencial para equipes de desenvolvimento modernas, pois ajuda a gerenciar alterações no código de forma eficiente e segura.](https://www.atlassian.com/br/git/tutorials/what-is-version-control?)

## 🎯 Conectando com o FavelaWare.

No **FavelaWare**, você vai aprender a usar o **Git**, uma das ferramentas de controle de versão mais utilizadas no mundo. Com ele, você poderá:

* 💾 **Salvar e recuperar** versões do seu código facilmente.
* 👥 **Colaborar** com outros participantes do projeto.
* 🌐 **Compartilhar** seu trabalho com o mundo por meio do GitHub.
* 🧰 **Desenvolver habilidades** essenciais para o mercado de tecnologia.

#### ✅ Resumo

| 🧩 Conceito            | 📌 Descrição                                                              |
| ---------------------- | ------------------------------------------------------------------------- |
| **Controle de Versão** | Sistema que registra e gerencia alterações em arquivos ao longo do tempo. |
| **Benefícios**         | Segurança, organização, colaboração e rastreabilidade.                    |
| **Ferramenta Popular** | Git, um sistema de controle de versão distribuído amplamente utilizado.   |
