O que é o Git e a Máquina do Tempo do seu Código

O que é o Git e a Máquina do Tempo do seu Código — aula do módulo Git & GitHub na Prática, na trilha Setup Essencial & Terminal Descomplicado da formação…

Leitura de aproximadamente 5 minutos.

Módulo: Git & GitHub na Prática · Curso: Setup Essencial & Terminal Descomplicado · Formação: Formação Nível Zero: Ferramentas Essenciais e Gratuitas de IA e Código

O que é o Git e a Máquina do Tempo do seu Código

O que você vai aprender

1. O Drama das Pastas Duplicadas vs Controle de Versão Real

Se você já trabalhou em documentos importantes, planilhas financeiras ou contratos, certamente já viu ou produziu uma pasta com nomes como:

Essa abordagem manual cria confusão imediata: ninguém sabe ao certo o que mudou de uma versão para outra, quem fez a alteração, quando ela ocorreu ou como recuperar um parágrafo que foi excluído por engano há três dias.

Na programação e no desenvolvimento assistido por Inteligência Artificial, esse caos é completamente resolvido por um Sistema de Controle de Versão (conhecido pela sigla VCS, do inglês Version Control System), do qual o Git é o padrão absoluto em todo o planeta.

O Git funciona como uma verdadeira "máquina do tempo". Ele monitora cada arquivo e cada linha do seu projeto. Sempre que você atinge um ponto de progresso satisfatório, você registra uma "fotografia" daquele momento (chamada de Commit), acompanhada de uma mensagem clara que explica o que foi feito.


+-------------------------------------------------------------------------------+
|                       O CAOS MANUAL vs A LINHA DO TEMPO DO GIT                |
+-------------------------------------------------------------------------------+
|                                                                               |
|   Método Caótico Manual:                                                      |
|   [Pasta_v1] ──> [Pasta_v2_copia] ──> [Pasta_final] ──> [Pasta_final_FINAL]   |
|   (Espaço desperdiçado, sem rastreabilidade de quem mudou o quê)              |
|                                                                               |
|   Método Git (Linha do Tempo Estruturada em uma Única Pasta):                 |
|   [Commit A: Estrutura inicial]                                               |
|         │                                                                     |
|         ▼                                                                     |
|   [Commit B: Adiciona formulário de contato]                                  |
|         │                                                                     |
|         ▼                                                                     |
|   [Commit C: Integração com API de pagamentos] <── (Ponto Atual)              |
|                                                                               |
|   * É possível voltar para o estado A ou B a qualquer momento em 1 segundo.   |
|                                                                               |
+-------------------------------------------------------------------------------+

2. A Diferença Crucial Entre Git e GitHub

Uma confusão muito comum entre profissionais iniciantes é tratar "Git" e "GitHub" como se fossem a mesma coisa. Eles são complementares, mas totalmente distintos:


+-------------------------------------------------------------------------------+
|                           RELAÇÃO ENTRE GIT E GITHUB                          |
+-------------------------------------------------------------------------------+
|                                                                               |
|   SEU COMPUTADOR (Local)                  NUVEM (Remoto)                      |
|   +-----------------------+               +-----------------------+           |
|   |         GIT           |  ── push ──>  |        GITHUB         |           |
|   | (Grava commits no HD, |  <── pull ──  | (Backup online,       |           |
|   |  funciona offline)    |               |  trabalho em equipe)  |           |
|   +-----------------------+               +-----------------------+           |
|                                                                               |
+-------------------------------------------------------------------------------+

3. Como o Git Enxerga o Seu Código

Diferente de sistemas antigos que guardavam apenas uma lista de diferenças entre arquivos, o Git trabalha com Snapshots (instantâneos).

Imagine que você está construindo uma página web. Você tem três arquivos: index.html, estilo.css e app.js. Quando você cria um commit, o Git fotografa o estado exato dos três arquivos juntos. Se no próximo commit você alterar apenas uma linha do estilo.css, o Git registra a nova versão do CSS e mantém uma referência inteligente para os outros dois arquivos que não mudaram, economizando espaço e garantindo máxima velocidade de recuperação.

4. Configurando sua Identidade Global no Git

Antes de criar seu primeiro commit, o Git exige que você informe seu nome e e-mail. Essas informações não são senhas de acesso; elas servem como a assinatura de autoria que será anexada a cada commit realizado no seu computador.

Abra o seu terminal Git Bash e execute os dois comandos abaixo (substituindo pelo seu nome e pelo e-mail que você utiliza ou planeja utilizar no GitHub):


git config --global user.name "Juliano Ceconi"
git config --global user.email "seu-email@exemplo.com"

5. Armadilhas Comuns e Como Evitar

[!IMPORTANT]
Achar que fazer commit envia o código para a internet: O comando git commit grava a alteração apenas no seu computador local. O código só é transmitido para a nuvem quando você executa explicitamente o comando de envio (git push). Se o seu computador quebrar antes do push, os commits locais não estarão protegidos no GitHub.

Outro ponto importante: use sempre o mesmo e-mail configurado no Git para criar sua conta no GitHub. Isso garante que suas contribuições e histórico de trabalho fiquem vinculados ao seu perfil público.

Exercício Prático

Configure sua identidade no Git e inspecione as configurações gravadas no seu sistema:

1. Defina seu nome de autor:


   git config --global user.name "Seu Nome Completo"

2. Defina seu e-mail de autor:


   git config --global user.email "seu.email@exemplo.com"

3. Configure o nome padrão da branch principal para main:


   git config --global init.defaultBranch main

4. Inspecione a lista completa de configurações ativas:


   git config --list

(Verifique se as linhas user.name, user.email e init.defaultBranch=main aparecem na listagem exibida).

Outras aulas do módulo