Git Reference

Manual interativo e cheat sheet para desenvolvedores.

Commits

feat: [descrição]

Convencional: Adição de uma nova funcionalidade (feature).

$git commit -m "feat: adicionar sistema de busca"
Commits

fix: [descrição]

Convencional: Correção de um erro/bug no código.

$git commit -m "fix: corrigir erro no login"
Commits

docs: [descrição]

Convencional: Alterações apenas na documentação (README, docs).

$git commit -m "docs: atualizar instruções de instalação"
Commits

refactor: [descrição]

Convencional: Refatoração que não corrige bug nem adiciona feature.

$git commit -m "refactor: simplificar função de validação"
Commits

chore: [descrição]

Convencional: Mudanças em builds, ferramentas ou bibliotecas externas.

$git commit -m "chore: atualizar dependências do npm"
Início

git init

Inicializa um novo repositório Git local.

$git init
Início

git clone [url]

Faz a cópia de um repositório remoto para sua máquina.

$git clone https://github.com/usuario/projeto.git
Início

git status

Lista os arquivos alterados e aqueles que ainda não foram rastreados.

$git status
Fluxo

git add [arquivo]

Adiciona um arquivo específico ao palco (staging area).

$git add index.html
Fluxo

git add .

Adiciona todas as mudanças atuais ao palco.

$git add .
Fluxo

git commit -m "[mensagem]"

Grava o snapshot do palco permanentemente no histórico.

$git commit -m "feat: adicionar checkout"
GitHub

git remote add origin [url]

Conecta seu repositório local a um remoto no GitHub.

$git remote add origin https://github.com/user/repo.git
GitHub

git branch -M main

Renomeia a branch atual para "main" (padrão GitHub).

$git branch -M main
GitHub

git remote -v

Lista os endereços remotos conectados ao seu projeto.

$git remote -v
PR

git push origin [sua-branch]

Envie sua branch para o GitHub antes de abrir o PR.

$git push origin feature/novo-tema
PR

gh pr create

Abre um PR pelo terminal (Requer GitHub CLI).

$gh pr create --title "Título" --body "Texto"
PR

gh pr status

Verifica o status dos seus Pull Requests abertos.

$gh pr status
Branches

git branch

Lista todas as branches locais do repositório.

$git branch
Branches

git checkout -b [nome]

Cria uma nova branch e muda para ela.

$git checkout -b dev-mobile
Branches

git merge [branch]

Mescla o histórico da branch especificada na branch atual.

$git merge feature/ajustes
Remoto

git pull

Baixa o histórico do remoto e incorpora as mudanças no local.

$git pull origin main
Remoto

git fetch

Busca as alterações do remoto sem mesclá-las automaticamente.

$git fetch origin
Avançado

git stash

Guarda temporariamente alterações não commitadas.

$git stash push -m "pausa para bugfix"
Avançado

git stash pop

Recupera as alterações guardadas anteriormente no stash.

$git stash pop
Avançado

git rebase [branch]

Aplica seus commits sobre a base de outra branch.

$git rebase main
Avançado

git cherry-pick [commit]

Copia um commit específico para a sua branch atual.

$git cherry-pick a1b2c3d
Avançado

git reflog

Log de referências para recuperar commits "perdidos".

$git reflog
Avançado

git clean -fd

Remove arquivos não rastreados do diretório (CUIDADO).

$git clean -fd
Histórico

git log --oneline

Exibe o histórico de commits de forma resumida.

$git log --oneline --graph --all
Histórico

git diff

Mostra as diferenças que ainda não foram para o palco.

$git diff
Desfazer

git reset [arquivo]

Retira um arquivo do staging area (mantém as alterações).

$git reset README.md
Desfazer

git checkout -- [arquivo]

Descarta as alterações locais em um arquivo específico.

$git checkout -- index.html
Desfazer

git commit --amend

Substitui o último commit com as alterações atuais.

$git commit --amend -m "mensagem corrigida"
Desfazer

git reset --soft HEAD~1

Desfaz o último commit, mantém arquivos no palco.

$git reset --soft HEAD~1
Desfazer

git reset --hard [commit]

Redefine para um estado específico (apaga mudanças!).

$git reset --hard 7b2e3f1

Conventional Commits & Workflow

A Estrutura

Commits semânticos ajudam a entender o histórico, automatizar changelogs e facilitar a colaboração estruturada.

Exemplo Prático
feat(ui): adicionar dark mode
fix(auth): resolver erro #123
chore: atualizar deps

O Fluxo Padrão

git pull
Sincronizar branch principal
git checkout -b
Criar branch para tarefa
git commit -m
Commits atômicos (semânticos)
git push
Enviar alterações para o remoto