Cheat Sheet Git - Comandos Essenciais

iniciante | 10 min leitura | 2024.12.15

Configuração Inicial

# Configurar nome de usuário
git config --global user.name "Seu Nome"

# Configurar email
git config --global user.email "seu@email.com"

# Ver configurações
git config --list

Comandos Básicos

Inicializar e Clonar

# Inicializar novo repositório
git init

# Clonar repositório existente
git clone <url>

# Clonar branch específica
git clone -b <branch> <url>

Mudanças e Commits

# Ver status
git status

# Adicionar arquivo ao staging
git add <arquivo>

# Adicionar todos os arquivos
git add .

# Fazer commit
git commit -m "mensagem do commit"

# Commit com add automático
git commit -am "mensagem"

Branches

# Listar branches
git branch

# Criar nova branch
git branch <nome>

# Mudar para branch
git checkout <branch>

# Criar e mudar para nova branch
git checkout -b <nova-branch>

# Deletar branch
git branch -d <branch>

Merge e Rebase

# Merge de branch
git merge <branch>

# Rebase
git rebase <branch>

# Resolver conflitos e continuar
git add .
git rebase --continue

Remoto

# Ver remotos
git remote -v

# Adicionar remoto
git remote add origin <url>

# Push para remoto
git push origin <branch>

# Pull do remoto
git pull origin <branch>

# Fetch mudanças
git fetch

Histórico

# Ver log
git log

# Log resumido
git log --oneline

# Log gráfico
git log --graph --oneline

# Ver mudanças de um commit
git show <commit>

Desfazer Mudanças

# Descartar mudanças locais
git checkout -- <arquivo>

# Unstage arquivo
git reset HEAD <arquivo>

# Reverter último commit (mantendo mudanças)
git reset --soft HEAD~1

# Reverter último commit (descartando mudanças)
git reset --hard HEAD~1

Dicas Úteis

# Criar alias
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit

# Ver diferenças
git diff

# Stash mudanças temporariamente
git stash
git stash pop

Solução de Problemas

SituaçãoSolução
Mensagem de commit erradagit commit --amend -m "nova mensagem"
Commit feito por enganogit reset --soft HEAD~1 para desfazer
Conflito de mergeEditar arquivos → git addgit commit
Push rejeitadogit pull --rebase depois push novamente
Restaurar arquivo específicogit checkout <commit> -- <arquivo>

Fluxo de Desenvolvimento com Branches

# Fluxo de desenvolvimento de feature
git checkout -b feature/autenticacao     # Criar branch
# ... trabalho de desenvolvimento ...
git add . && git commit -m "feat: implementar autenticação"
git push -u origin feature/autenticacao  # Push
# Criar PR, revisar, depois merge
git checkout main && git pull            # Atualizar main
git branch -d feature/autenticacao       # Deletar branch local

Artigos Relacionados

← Voltar para a lista