Git Cheatsheet

Referência rápida dos comandos Git mais utilizados.

Configuração Inicial

ComandoDescrição
git config --global user.name "Nome"Define nome
git config --global user.email "email"Define email
git config --listLista configurações

Básico

ComandoDescrição
git initInicializa repositório
git clone urlClona repositório
git statusStatus do repositório
git add arquivoAdiciona ao staging
git add .Adiciona tudo
git commit -m "msg"Cria commit
git commit -am "msg"Add + commit (tracked)

Branches

ComandoDescrição
git branchLista branches
git branch nomeCria branch
git checkout nomeMuda de branch
git checkout -b nomeCria e muda
git switch nomeMuda de branch (novo)
git switch -c nomeCria e muda (novo)
git branch -d nomeDeleta branch
git branch -D nomeForça deleção

Merge e Rebase

ComandoDescrição
git merge branchMerge branch atual
git rebase branchRebase na branch
git rebase -i HEAD~3Rebase interativo
git merge --abortCancela merge
git rebase --abortCancela rebase

Remoto

ComandoDescrição
git remote -vLista remotos
git remote add origin urlAdiciona remoto
git push origin branchEnvia para remoto
git push -u origin branchPush + tracking
git pullAtualiza do remoto
git fetchBaixa sem merge

Histórico

ComandoDescrição
git logHistórico de commits
git log --onelineHistórico resumido
git log --graphHistórico com gráfico
git show commitDetalhes do commit
git diffDiferenças
git diff --stagedDiff do staging

Desfazer

ComandoDescrição
git restore arquivoDescarta mudanças
git restore --staged arquivoRemove do staging
git reset HEAD~1Desfaz último commit (mantém)
git reset --hard HEAD~1Desfaz commit (perde)
git revert commitReverte commit (novo commit)

Stash

ComandoDescrição
git stashGuarda mudanças
git stash listLista stashes
git stash popAplica e remove
git stash applyAplica sem remover
git stash dropRemove stash

Tags

ComandoDescrição
git tagLista tags
git tag v1.0Cria tag leve
git tag -a v1.0 -m "msg"Tag anotada
git push origin --tagsPush de tags

Úteis

ComandoDescrição
git cherry-pick commitAplica commit específico
git blame arquivoQuem alterou cada linha
git bisectBusca binária de bugs
git clean -fdRemove untracked