Guia Git Sem Medo: Comandos Básicos e o Fluxo Essencial para Iniciantes
O **Git** é a ferramenta mais importante no kit de qualquer desenvolvedor. Ele é o sistema de controle de versão que monitora cada linha de código, permitindo que você trabalhe em equipe, volte no tempo, e gerencie seu projeto sem desastres.
Para um iniciante, o Git pode parecer intimidador, mas na **AtiveSite**, simplificamos o conceito. Você só precisa entender **três áreas** e **quatro comandos** essenciais.
As 3 Áreas de Trabalho do Git
Seu fluxo de trabalho com o Git se move por três áreas:
- **Working Directory (Diretório de Trabalho):** É a pasta do seu projeto no seu computador. É onde você edita os arquivos.
- **Staging Area (Área de Preparação):** É um rascunho virtual onde você coloca as mudanças que deseja incluir no seu próximo commit. É como preparar a caixa para o envio.
- **Repository (Repositório Local):** É onde o Git armazena o histórico do seu projeto. É a sua base de dados de pontos de salvamento (`commits`).
Os 4 Comandos Essenciais (O Fluxo de Vida)
Todo o seu dia como desenvolvedor será baseado nesses comandos. Eles definem o ciclo de mover o código editado do seu PC para a nuvem (GitHub, GitLab):
1. git init (Início)
Você só usa este comando uma vez no início de um novo projeto. Ele transforma a pasta em um repositório Git, criando o diretório oculto `.git` que armazena todo o histórico.
git init
2. git add (Preparar)
Este comando move as alterações do seu **Working Directory** para a **Staging Area**.
- Para adicionar um arquivo específico:
git add nome_do_arquivo.js - Para adicionar todas as alterações (o mais comum):
git add .
3. git commit (Salvar o Ponto)
O commit é o seu “ponto de salvamento” no histórico. Ele pega as mudanças da Staging Area e as armazena no seu Repositório Local. A mensagem (`-m`) deve ser clara e descritiva.
git commit -m "Adiciona validação de campo de email no formulário de login"
4. git push e git pull (Sincronizar)
Estes comandos lidam com o **Repositório Remoto** (a versão do seu código que está na nuvem, como o GitHub).
- **`git push`:** Envia seus commits locais para o repositório remoto.
git push origin main - **`git pull`:** Puxa e mescla as alterações que seus colegas fizeram (e enviaram para o remoto) para o seu repositório local. Você deve sempre fazer um `pull` antes de começar a trabalhar.
git pull origin main
Comandos de Diagnóstico e Checagem
| Comando | Função |
|---|---|
| `git status` | Exibe o status atual do seu Working Directory e Staging Area. É o comando mais usado para checar o que falta ser adicionado ou commitado. |
| `git log` | Mostra o histórico de commits do branch atual, incluindo o ID (SHA) de cada commit. |
| `git diff` | Mostra as diferenças detalhadas entre seu Working Directory e a Staging Area, ou entre a Staging Area e o último commit. |
| `git branch` | Lista todos os branches locais e mostra qual você está usando atualmente (marcado com `*`). |
FAQ: Dúvidas Cruciais para Iniciantes
1. Qual a diferença entre Git e GitHub?
Git é o software de controle de versão que roda localmente no seu computador. GitHub é a plataforma de hospedagem na nuvem para os seus repositórios Git, facilitando a colaboração, o backup e o uso de Pull Requests.
2. Por que usar `git add .` e depois `git commit`?
O `git add .` permite que você organize as alterações antes de salvá-las. Você pode ter vários arquivos modificados, mas querer salvar (commitar) apenas alguns deles em um ponto de salvamento lógico. A Staging Area é a sua área de curadoria antes do salvamento final.
3. O que é um ‘Branch’ (Ramificação)?
Branch é uma linha de desenvolvimento paralela. É o que permite que você trabalhe em uma nova funcionalidade (Ex: Branch `feature/calculadora`) sem arriscar o código principal (`main`). Você só mescla (merge) o código no `main` depois de testá-lo e ter certeza de que funciona.
4. E se eu quiser desfazer um commit?
Use `git revert [commit ID]`. Este comando cria um *novo* commit que desfaz as alterações do commit problemático, mantendo um histórico claro e seguro. Evite o `git reset –hard` para não apagar o histórico e causar problemas para a equipe.
5. O que é ‘Merge Conflict’?
Ocorre quando dois desenvolvedores modificam a *mesma linha* de um arquivo. O Git não sabe qual versão manter, exigindo que você resolva o conflito manualmente, escolhendo qual parte do código deve prevalecer, antes de finalizar o merge.
Conclusão
Dominar o fluxo `add` → `commit` → `push` é o seu passaporte para o mundo do desenvolvimento profissional. Use o `git status` como seu melhor amigo, e lembre-se: no Git, você nunca perde seu trabalho, você apenas não sabe como encontrá-lo (ainda).
Guia Git Sem Medo: Comandos Básicos e o Fluxo Essencial para Iniciantes
Tags para suas próximas buscas:
Git, Comandos Git, Git Iniciante, Git Status, Git Add, Git Commit, Git Push, Controle de Versão, GitHub, Staging Area, Working Directory, Desenvolvimento Colaborativo.


