Cheat sheet de comandos Git comumente usados
Digite o nome do comando no campo de busca ou filtre por categoria (operações básicas, branches, etc.) para encontrar o comando desejado.
Confira a descrição de cada comando, opções comuns e exemplos práticos de uso.
Clique no exemplo de uso para copiar para a área de transferência e executar imediatamente no terminal.
git add .Adiciona todas as alterações ao staginggit add -pSeleciona interativamente alterações para staginggit add file.txtAdiciona um arquivo específico ao staginggit commit -m "feat: add new feature"Commit com mensagemgit commit --amendAdiciona modificações ao commit anteriorgit commit -am "fix: bug fix"Staging automático e commitgit statusVerifica o estado atualgit status -sbExibe formato curto com informações do branchgit diffExibe alterações não em staginggit diff --stagedExibe alterações em staginggit diff HEAD~1Exibe diferença com o commit anteriorgit log --onelineExibe histórico em formato de uma linhagit log --oneline --graphExibe histórico com gráficogit log -5Exibe os últimos 5 commitsgit push origin mainPush do branch main para origingit push -u origin featurePush de novo branch e define upstreamgit push --force-with-leasePush forçado segurogit pullObtém alterações remotas e faz mergegit pull --rebaseIncorpora com rebasegit pull origin mainPull do branch main do origingit fetch originObtém alterações do origingit fetch --allObtém de todos os remotosgit fetch --pruneLimpa branches excluídosgit branchLista branches locaisgit branch feature/newCria novo branchgit branch -d feature/oldExclui branch já mergeadogit checkout mainAlterna para o branch maingit checkout -b feature/newCria novo branch e alternagit checkout -- file.txtRestaura arquivo para o último commitgit switch mainAlterna para o branch maingit switch -c feature/newCria novo branch e alternagit switch -Volta para o branch anteriorgit merge feature/newMerge do feature/newgit merge --no-ff feature/newSempre cria commit de mergegit merge --abortAborta merge em caso de conflitogit rebase mainRebase no branch maingit rebase -i HEAD~3Edita os últimos 3 commitsgit rebase --abortAborta rebase e volta ao estado originalgit showExibe detalhes do último commitgit show HEAD~1Exibe o commit anteriorgit show abc1234Exibe um commit específicogit blame file.txtExibe o autor de cada linha do arquivogit blame -L 10,20 file.txtExibe autores das linhas 10 a 20git blame -w file.txtExibe ignorando alterações de espaçosgit reflogExibe histórico de movimentos do HEADgit reflog -10Exibe os últimos 10 itens do históricogit checkout HEAD@{2}Usa reflog para voltar a estado anteriorgit shortlog -snLista usuários ordenados por commitsgit shortlog -sneExibe com endereço de e-mailgit shortlog HEAD~100..HEADContribuidores dos últimos 100 commitsgit reset --soft HEAD~1Desfaz o último commit (mantém alterações)git reset HEAD file.txtRemove arquivo específico do staginggit reset --hard HEAD~1Descarta último commit e alteraçõesgit revert HEADReverte o último commitgit revert abc1234Reverte um commit específicogit revert -n HEAD~3..HEADReverte múltiplos commits juntosgit restore file.txtRestaura arquivo para o último commitgit restore --staged file.txtRemove do staginggit restore --source HEAD~1 file.txtRestaura do commit anteriorgit clean -nPreview dos arquivos a excluirgit clean -fdExclui arquivos e diretórios não rastreadosgit clean -fdxTambém exclui arquivos ignoradosgit stashSalva alterações temporariamentegit stash popRestaura alterações salvasgit stash listLista stashesgit remote -vLista repositórios remotosgit remote add upstream https://github.com/user/repo.gitAdiciona remoto upstreamgit remote rename origin old-originRenomeia remotogit config --global user.name "Your Name"Define nome de usuáriogit config --global user.email "you@example.com"Define endereço de e-mailgit config --listLista configuraçõesgit initTransforma diretório atual em repositóriogit init my-projectCria repositório em novo diretóriogit init -b mainInicializa com branch maingit clone https://github.com/user/repo.gitClona repositóriogit clone --depth 1 https://github.com/user/repo.gitClona apenas último commitgit clone -b develop https://github.com/user/repo.gitClona branch developgit tag v1.0.0Cria tag levegit tag -a v1.0.0 -m "Release 1.0.0"Cria tag anotadagit tag -d v1.0.0Exclui taggit cherry-pick abc1234Aplica commit específicogit cherry-pick abc1234 def5678Aplica múltiplos commitsgit cherry-pick --abortAborta cherry-pickgit bisect startInicia busca bináriagit bisect bad HEADMarca HEAD atual como ruimgit bisect good v1.0.0Marca v1.0.0 como bomgit grep "TODO"Busca linhas contendo TODOgit grep -n "function"Busca com números de linhagit grep -l "import"Exibe apenas nomes de arquivos correspondentesA Referência de comandos Git é um cheat sheet que reúne comandos Git comumente usados. Cobre desde operações básicas até operações de branch, histórico e desfazer, com comandos necessários para desenvolvimento. Você pode verificar a descrição de cada comando, opções comuns e exemplos práticos, com cópia em um clique.
git fetch apenas obtém alterações remotas localmente, sem afetar o branch de trabalho. git pull faz merge ou rebase automaticamente após fetch, incorporando alterações ao branch de trabalho.
git reset reescreve o histórico de commits para voltar a um estado anterior. git revert cria um novo commit de reversão, mantendo o histórico. revert é mais seguro para branches compartilhados.
switch é um comando novo adicionado no Git 2.23, dedicado apenas à alternância de branches. checkout pode alternar branches e restaurar arquivos, mas os papéis são misturados. O uso dos novos comandos (switch/restore) é recomendado.
--force faz push forçado incondicionalmente, enquanto --force-with-lease só faz push se o remoto estiver no estado esperado. Reduz o risco de sobrescrever acidentalmente alterações de outras pessoas.
Usando git reflog, você pode verificar o histórico de movimentos do HEAD. Encontre o hash do commit excluído e pode ser possível recuperar usando git checkout ou git cherry-pick.