Skip to content
Vinícius Stutz edited this page Sep 30, 2026 · 11 revisions

Guia de Referência Rápida do Git

Referência rápida dos comandos Git mais utilizados no fluxo de trabalho diário.

Configuração Inicial

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ário

Início de Projeto

git init              # Inicia um novo repositório local
git clone <url>       # Clona um repositório remoto

Gerenciando Alterações

git 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 modificados

Branches

git 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 atual

Repositório Remoto

git 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 mesclar

Desfazendo Alterações

git 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)

Inspeção e Histórico

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órico

Stash (Alterações Temporárias)

git 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 salvos

Limpeza e Ajustes

git 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 conflito

Tags

git 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 remoto

.gitignore

O 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.

Avançado

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)

Exemplo de Fluxo Completo

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 atual

Ajuda

git help --all       # Lista todos os comandos disponíveis
git <comando> --help # Exibe a documentação de um comando específico