Repository navigation
Home
Vinícius Stutz edited this page Sep 30, 2026
·
11 revisions
Referência rápida dos comandos Git mais utilizados no fluxo de trabalho diário.
git config --global user.name "Seu Nome" # Define o nome do usuário
git config --global user.email seu@email.com # Define o e-mail do usuáriogit init # Inicia um novo repositório local
git clone <url> # Clona um repositório remotogit status # Verifica o estado dos arquivos
git add . # Adiciona todos os arquivos à staging area
git add <arquivo> # Adiciona um arquivo específico
git commit -m "" # Salva as alterações com uma mensagem descritiva
git diff # Exibe as diferenças entre arquivos modificadosgit branch # Lista as branches locais
git branch <nome> # Cria uma nova branch
git branch -d <nome> # Exclui uma branch (seguro — exige merge prévio)
git checkout -b <nome> # Cria e muda para a nova branch
git switch <nome> # Muda para uma branch existente
git merge <nome> # Mescla a branch indicada na branch atualgit remote add origin <url> # Conecta o repositório local a um remoto
git remote -v # Lista os repositórios remotos configurados
git remote set-url origin <url> # Atualiza a URL do repositório remoto
git push origin main # Envia commits para o servidor remoto
git push -u origin <branch> # Envia uma branch nova para o remoto
git pull origin main # Baixa e mescla alterações do servidor
git fetch --all # Baixa as atualizações sem mesclargit restore <arquivo> # Descarta alterações não staged em um arquivo
git reset HEAD <arquivo> # Remove o arquivo da staging area
git reset --soft HEAD~1 # Reverte o último commit (mantém as alterações)
git reset --hard HEAD # Descarta todas as alterações locais (irreversível!)
git revert <id-commit> # Cria um commit que reverte outro commit (seguro)git log # Exibe o histórico completo de commits
git log --oneline # Histórico resumido, uma linha por commit
git log --oneline --graph --all # Histórico visual com branches
git log --format="%h %an %s" --all # Formato personalizado: hash, autor, mensagem
git show <id-commit> # Exibe detalhes e diff de um commit específico
git blame <arquivo> # Mostra quem alterou cada linha de um arquivo
gitk --all # Interface gráfica do históricogit stash # Guarda as alterações atuais temporariamente
git stash pop # Restaura o stash mais recente (e o remove da lista)
git stash apply # Restaura o stash mais recente (mantém na lista)
git stash list # Lista todos os stashes salvos
git stash drop # Remove o stash mais recente da lista
git stash clear # Remove todos os stashes salvosgit clean -fd # Remove arquivos não rastreados (irreversível!)
git rm -f <arquivo> # Remove um arquivo do repositório
git merge --abort # Cancela um merge em andamento com conflitogit tag # Lista todas as tags
git tag v1.0.0 # Cria uma tag leve no commit atual
git tag -a v1.0.0 -m "versão 1.0" # Cria uma tag anotada com mensagem
git push origin v1.0.0 # Envia uma tag específica para o remoto
git push origin --tags # Envia todas as tags para o remotoO arquivo .gitignore na raiz do repositório define quais arquivos e pastas o Git deve ignorar (não rastrear):
Exemplo de .gitignore:
node_modules/
*.log
.env
.DS_Store
dist/
Note
Gere um .gitignore adequado para sua linguagem em: gitignore.io
Exemplo: https://www.toptal.com/developers/gitignore/api/csharp.
git rebase <branch> # Reaplicar commits de uma branch sobre outra
git cherry-pick <id-commit> # Aplica um commit específico na branch atual
git config --system core.longpaths true # Permite caminhos longos (Windows)git checkout remotes/origin/branch-name # Acessa branch remota
git checkout develop # Muda para a branch develop
git checkout -b feature/xxx # Cria a branch de feature
git add * # Prepara os arquivos
git commit -m "comentários" # Salva localmente
git push origin feature/xxx # Envia para o servidor
git branch -d feature/xxx # Remove a branch local
git fetch -v --progress origin # Sincroniza com o remoto
git pull -v --progress --no-rebase origin # Atualiza a branch atualgit help --all # Lista todos os comandos disponíveis
git <comando> --help # Exibe a documentação de um comando específico