Tutorial Completo

Dominando
Git

Do primeiro commit ao rebase interativo — guia prático no terminal com exemplos reais.

10 Módulos
40+ Comandos
v2.x Versão Git
Configuração Branches Stash Rebase Cherry-pick Boas Práticas
01

Configuração Inicial

Antes de usar o Git, configure seu nome e e-mail. Essas informações aparecerão em cada commit que você fizer.

terminal
# Configurar nome do usuário
git config --global user.name "Seu Nome"

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

# Verificar configuração
git config --list
💡
--global faz a configuração valer para todos os projetos no seu computador. Para um projeto específico, tire o --global.
02

Criando e Inicializando Repositórios

Criar um repositório local:

mkdir meu-projeto
cd meu-projeto
git init
saída
Initialized empty Git repository in /caminho/meu-projeto/.git/

Clonar um repositório existente:

git clone https://github.com/usuario/repositorio.git

Isso cria uma pasta com todos os arquivos do repositório remoto, incluindo o histórico completo de commits.

03

Ciclo Básico de Trabalho

O fluxo do dia a dia com Git segue 4 passos fundamentais:

Passo 1 — Verificar status

git status

Mostra arquivos modificados, não adicionados ou prontos para commit.

Passo 2 — Adicionar mudanças

git add arquivo.txt       # Adiciona um arquivo específico
git add .                 # Adiciona todas as mudanças

Passo 3 — Criar um commit

git commit -m "Mensagem explicando a mudança"
💡
Use mensagens curtas e claras. Ex.: "fix: corrige bug no login"

Passo 4 — Enviar para o remoto

git push origin main
04

Branches (Ramificações)

Branches permitem desenvolver funcionalidades isoladas sem afetar o código principal.

git checkout -b minha-branch

Cria e troca para uma nova branch

git checkout main

Troca para a branch main

git branch

Lista branches locais

git branch -a

Lista todas, inclusive remotas

Merge — unir branches:

git checkout main
git merge minha-branch
💡
Se houver conflitos, o Git vai sinalizar e você deve resolvê-los manualmente antes de continuar.
05

Histórico e Revisão

Ver commits:

git log
git log --oneline               # versão resumida
git log --graph --oneline --all  # visual bonito do histórico

Ver mudanças:

git diff                # alterações não adicionadas
git diff --staged       # alterações prontas para commit

Blame — quem alterou cada linha:

git blame arquivo.txt
06

Reescrevendo Histórico

Rebase Interativo — juntar commits (squash):

git rebase -i HEAD~3

Alterar último commit:

git commit --amend -m "Nova mensagem do commit"

Reset — voltar commits:

git reset --soft HEAD~1   # mantém alterações no stage
git reset --hard HEAD~1   # perde alterações completamente
⚠️
Cuidado: --hard apaga mudanças permanentemente, sem chance de recuperar.
07

Cherry-pick

Aplica commits específicos de outra branch, sem precisar fazer merge completo.

git checkout main
git cherry-pick abc123   # aplica commit específico pelo hash
💡
Útil quando você quer pegar só partes de outra branch, sem trazer todas as mudanças.
08

Stash (Guardar Temporariamente)

Guarda mudanças em progresso sem precisar criar um commit.

git stash          # guarda mudanças atuais
git stash list     # lista stashes salvos
git stash apply    # reaplica último stash (mantém na lista)
git stash pop      # reaplica e remove do stash
💡
Ótimo quando precisa trocar de branch sem commitar o trabalho atual.
09

Git Remoto

Adicionar repositório remoto:

git remote add origin https://github.com/usuario/repositorio.git

Atualizar branch local com o remoto:

git fetch origin         # busca dados do remoto sem aplicar
git pull origin main     # busca e aplica no branch atual
💡
fetch só baixa os dados. pull baixa e aplica automaticamente no seu branch.
10

Dicas Avançadas e Boas Práticas

Visualização em árvore do histórico:

comando favorito
git log --graph --decorate --oneline --all
📊
Saída visual em formato de árvore — fácil de entender ramificações e merges.