Folha de Consulta Git
Última atualização
Configuração inicial
Configuração única para que seus commits sejam atribuídos corretamente.
| Comando | O que faz |
|---|---|
git config --global user.name "Ada" | Define o nome dos seus commits |
git config --global user.email you@x.com | Define o e-mail dos seus commits |
git config --list | Mostra toda a configuração atual |
git config --global init.defaultBranch main | Nomeia a primeira branch de novos repositórios como main |
git config --global core.editor "code --wait" | Define seu editor padrão |
git --version | Exibe a versão do Git instalada |
Criar e clonar
Inicie um novo repositório ou copie um existente.
| Comando | O que faz |
|---|---|
git init | Cria um novo repositório na pasta atual |
git clone <url> | Copia um repositório remoto localmente |
git clone <url> mydir | Clona em uma pasta com nome definido |
git clone --depth 1 <url> | Clone raso (apenas o commit mais recente) |
git clone -b dev <url> | Clona e faz checkout da branch dev |
Preparar e commitar
Registre alterações no histórico do projeto.
| Comando | O que faz |
|---|---|
git add file.txt | Prepara um arquivo |
git add . | Prepara todas as alterações no diretório atual |
git add -p | Prepara trechos selecionados de forma interativa |
git commit -m "message" | Commita as alterações preparadas |
git commit -am "message" | Prepara arquivos rastreados e commita |
git commit --amend | Edita o último commit |
git rm file.txt | Remove um arquivo e prepara a exclusão |
Branches
Trabalhe em alterações de forma isolada.
| Comando | O que faz |
|---|---|
git branch | Lista as branches locais |
git branch feature | Cria uma nova branch |
git switch feature | Muda para uma branch existente |
git switch -c feature | Cria e muda em um único passo |
git checkout feature | Forma antiga de trocar de branch |
git branch -d feature | Exclui uma branch já mesclada |
git branch -m newname | Renomeia a branch atual |
Merge e rebase
Combine o trabalho de duas branches.
| Comando | O que faz |
|---|---|
git merge feature | Mescla feature na branch atual |
git merge --no-ff feature | Sempre cria um commit de merge |
git rebase main | Reaplica seus commits sobre a main |
git rebase -i HEAD~3 | Edita os últimos 3 commits de forma interativa |
git rebase --continue | Continua após resolver conflitos |
git rebase --abort | Cancela um rebase em andamento |
git cherry-pick <hash> | Aplica um commit nesta branch |
Remotos (push, pull, fetch)
Sincronize seu repositório local com um remoto como o GitHub.
| Comando | O que faz |
|---|---|
git remote -v | Lista os remotos configurados |
git remote add origin <url> | Vincula um remoto chamado origin |
git fetch | Baixa alterações remotas sem mesclar |
git pull | Baixa e mescla a branch remota |
git push | Envia commits para o remoto |
git push -u origin main | Faz push e define a branch upstream |
git push origin --delete feature | Exclui uma branch remota |
Inspecionar (status, log, diff)
Veja o que mudou e o que está acontecendo.
| Comando | O que faz |
|---|---|
git status | Mostra arquivos preparados, não preparados e não rastreados |
git log | Mostra o histórico de commits |
git log --oneline --graph | Histórico compacto com um gráfico de branches |
git diff | Alterações não preparadas vs o index |
git diff --staged | Alterações preparadas vs o último commit |
git show <hash> | Mostra as alterações de um único commit |
git blame file.txt | Mostra quem alterou cada linha por último |
Desfazer alterações
Recupere-se de erros com segurança.
| Comando | O que faz |
|---|---|
git restore file.txt | Descarta alterações não preparadas de um arquivo |
git restore --staged file.txt | Remove um arquivo da área de preparo (mantém as alterações) |
git reset --soft HEAD~1 | Desfaz o último commit, mantendo as alterações preparadas |
git reset --hard HEAD~1 | Desfaz o último commit e descarta as alterações |
git revert <hash> | Cria um novo commit que desfaz outro |
git stash | Guarda alterações para depois |
git stash pop | Reaplica o stash mais recente |
Cada comando Git que você usa, em uma única página. Esta folha de consulta Git é uma referência rápida para o controle de versão do dia a dia - configurar o Git, preparar e commitar, criar branches, fazer merge e rebase, sincronizar com remotos e desfazer erros.
Estes são comandos Git padrão que funcionam da mesma forma em Linux, macOS e Windows. Copie o que precisar ou teste ao vivo no playground de terminal - um shell de verdade no seu navegador, sem nada para instalar.
Perguntas frequentes sobre a folha de consulta Git
Esta folha de consulta Git é gratuita?
Qual é a diferença entre merge e rebase?
git merge combina duas branches criando um novo commit de merge que une seus históricos, preservando o histórico exato de ambas. Já o git rebase reaplica seus commits um por um sobre outra branch, produzindo um histórico linear sem commit de merge. O merge é seguro e não destrutivo; o rebase gera um histórico mais limpo, mas reescreve commits, então evite fazer rebase de branches que outras pessoas já baixaram.Como desfaço um commit no Git?
git reset --soft HEAD~1 desfaz o último commit mas mantém as alterações preparadas, enquanto git reset --hard HEAD~1 as descarta por completo. Para um commit que já foi compartilhado, use git revert <hash> para criar um novo commit que o reverte sem reescrever o histórico.