Guia rápido de comandos Git

Encontre rapidamente um comando Git por palavra-chave (branch, commit, rebase, stash...), organizado por categoria, com um botão para copiar cada comando direto para o seu terminal.

Iniciar

git init
Inicializa um novo repositório Git na pasta atual.
git clone <url>
Clona um repositório remoto em uma nova pasta local.
git config --global user.name "Nom"
Define o nome de autor global dos commits.
git config --global user.email "email"
Define o e-mail de autor global dos commits.

Estado e histórico

git status
Exibe os arquivos modificados, adicionados ou não rastreados.
git log
Exibe o histórico de commits.
git log --oneline --graph --all
Histórico condensado com o grafo das branches.
git diff
Exibe as alterações ainda não adicionadas ao índice.
git diff --staged
Exibe as alterações já adicionadas ao índice (staged).
git show <commit>
Exibe os detalhes de um commit específico.

Editar

git add <fichier>
Adiciona um arquivo à área de staging.
git add -A
Adiciona todos os arquivos modificados, adicionados e removidos.
git commit -m "message"
Cria um commit com os arquivos adicionados ao índice.
git commit --amend
Modifica o último commit (mensagem e/ou conteúdo).
git restore <fichier>
Descarta as alterações de um arquivo que ainda não foram adicionadas ao índice.
git restore --staged <fichier>
Remove um arquivo da área de staging sem perder as alterações.
git rm <fichier>
Remove um arquivo e adiciona a remoção ao índice.

Branches

git branch
Lista as branches locais.
git branch <nom>
Cria uma nova branch.
git switch <branche>
Troca a branch ativa.
git switch -c <branche>
Cria uma branch e muda para ela imediatamente.
git branch -d <branche>
Exclui uma branch local que já foi mesclada.
git branch -D <branche>
Força a exclusão de uma branch local, mesmo sem merge.

Merge e rebase

git merge <branche>
Mescla uma branch na branch atual.
git rebase <branche>
Reaplica os commits da branch atual sobre outra base.
git rebase -i HEAD~n
Rebase interativo dos n últimos commits (reordenar, fazer squash...).
git cherry-pick <commit>
Aplica um commit específico na branch atual.

Remoto

git remote -v
Lista os repositórios remotos configurados.
git fetch
Obtém as referências remotas sem mesclá-las.
git pull
Obtém e mescla as alterações remotas.
git push
Envia os commits locais para o repositório remoto.
git push -u origin <branche>
Envia uma branch e a associa como branch de rastreamento.
git push --force-with-lease
Força o envio de maneira mais segura do que um --force comum.

Cancelar

git reset --soft HEAD~1
Desfaz o último commit mantendo as alterações no índice.
git reset --mixed HEAD~1
Desfaz o último commit mantendo as alterações fora do índice.
git reset --hard HEAD~1
Desfaz o último commit e descarta definitivamente suas alterações.
git revert <commit>
Cria um novo commit que desfaz o efeito de um commit anterior.

Guardar alterações (stash)

git stash
Guarda temporariamente as alterações em andamento.
git stash pop
Reaplica o último stash e o remove da lista.
git stash list
Lista os stashes salvos.

Etiquetas

git tag
Lista as tags existentes.
git tag -a v1.0.0 -m "message"
Cria uma tag anotada.
git push origin --tags
Envia todas as tags locais para o repositório remoto.

Como funciona

Cerca de quarenta comandos Git comuns estão organizados por categoria (começar, estado e histórico, branches, merge e rebase, remoto, desfazer, stash, tags). Digite uma palavra-chave na barra de busca — o nome de um comando (rebase), um conceito ("desfazer", "mesclar") ou uma categoria — para filtrar a lista em tempo real e, em seguida, clique em "Copiar" ao lado do comando desejado para colá-lo direto no seu terminal.

Qual é a diferença entre git fetch e git pull?

git fetch baixa as novas referências do repositório remoto sem modificar a sua branch local, o que dá tempo para inspecionar as alterações antes de integrá-las. git pull faz a mesma coisa e depois mescla (ou faz rebase, conforme a configuração) essas alterações automaticamente na sua branch atual.

Quando usar git reset em vez de git revert?

Use git reset para reescrever o histórico de uma branch que ainda não foi compartilhada (ou com cuidado, em coordenação com a equipe), e git revert para desfazer de forma limpa um commit que já foi enviado e possivelmente usado por outras pessoas, pois ele adiciona um novo commit de reversão sem reescrever o histórico existente.

Este guia rápido é totalmente estático e funciona offline depois que a página é carregada: nenhum dado é enviado a um servidor, incluindo a sua busca.