[Git Learn] Day 1. Por que Git?
Série: Notas de aprendizado baseadas no Pro Git 2nd Edition Referência: Pro Git Book (Official) Escopo: 1.1 About Version Control
Por que o controle de versão evoluiu?
Os sistemas de controle de versão passaram por três grandes mudanças.
| Ger | Tipo | Exemplos |
|---|---|---|
| 1ª | Local | RCS |
| 2ª | Centralizado | CVS, SVN |
| 3ª | Distribuído | Git |
Vou explicar cada geração usando uma analogia de correios.
1. Controle de versão local - "Morando sozinho"
No início, o objetivo era simplesmente gerenciar versões no meu próprio computador.
Imagine uma pequena agência de correios de uma pessoa só em uma cidade rural. O carteiro escreve sozinho no livro-razão, entrega sozinho, fecha sozinho. Não precisa mostrar pra ninguém, então guarda um caderno secreto na gaveta da mesa.
Problema: E se a gaveta pegar fogo? O livro-razão some sem como recuperar.

2. Centralizado - "Trabalho em equipe começa"
Conforme os projetos cresciam, viramos uma equipe. Trabalhar sozinho era tranquilo, mas com 3 funcionários agora, compartilhar arquivos entre computadores virou um problema.
"Ei, vamos juntar nossos livros em um só!"
Assim nasceu a matriz (servidor central). Agora cada funcionário de filial tem que ligar pra matriz logo de manhã pra verificar o livro-razão antes de poder trabalhar.
Os gerentes adoraram. Podiam ver quem fazia o quê de uma olhada.
Mas tem um problema crítico.
- O telefone da matriz cai? → Todas as filiais do país param de trabalhar
- O HD da matriz quebra? → 10 anos de histórico do projeto somem instantaneamente
Esse é o problema do Ponto Único de Falha (Single Point of Failure).

3. Controle de versão distribuído - "Git entra em cena"
Manter a colaboração, mas e se a matriz cair e ainda estivermos seguros?
A resposta do Git foi simples. Não pegue só os arquivos—leve todo o histórico do repositório.
Agora São Paulo, Rio, Brasília mantêm um livro-razão original idêntico no próprio cofre.

As diferenças cruciais:
- Recuperação: Se a matriz explodir, pega o livro-razão de São Paulo e reconstrói a matriz
- Trabalho offline: Sem conexão com a matriz, você tem o livro no seu cofre—trabalhe e faça commit num avião
- Velocidade: Não precisa perguntar pela rede; só lê do seu HD local
Resumo
Usar Git significa que seu computador não é só um terminal—é um servidor completo por si só.
| Comando | O que realmente faz |
|---|---|
git clone |
Copia o histórico completo de um repositório |
git commit |
Registra mudanças localmente sem servidor |
git push |
Sincroniza registros locais pro remoto |
Log
- • 2026-02-03: create
- • 2026-02-03: add images