💡 Dica: Sempre use
git status
para
verificar o estado atual do seu repositório antes de executar outros
comandos.
📋 Comandos Básicos
BÁSICO
git init
Inicializa um novo repositório Git
Cria um repositório Git vazio no diretório atual. Use este comando quando começar um novo projeto.
Cria um repositório Git vazio no diretório atual. Use este comando quando começar um novo projeto.
BÁSICO
git clone <url>
Clona um repositório remoto
Cria uma cópia local de um repositório remoto. Baixa todo o histórico e arquivos do projeto.
Cria uma cópia local de um repositório remoto. Baixa todo o histórico e arquivos do projeto.
BÁSICO
git status
Mostra o estado atual do repositório
Exibe arquivos modificados, arquivos em staging e arquivos não rastreados. Use frequentemente!
Exibe arquivos modificados, arquivos em staging e arquivos não rastreados. Use frequentemente!
BÁSICO
git add <arquivo>
Adiciona arquivos ao staging
Prepara arquivos para commit. Use
Prepara arquivos para commit. Use
git add .
para
adicionar todos os arquivos modificados.
BÁSICO
git add -A
Adiciona todos os arquivos
Adiciona todas as mudanças (modificações, adições e remoções) ao staging area.
Adiciona todas as mudanças (modificações, adições e remoções) ao staging area.
BÁSICO
git diff
Mostra diferenças nos arquivos
Exibe as mudanças que ainda não foram adicionadas ao staging. Use
Exibe as mudanças que ainda não foram adicionadas ao staging. Use
git diff --staged
para ver mudanças em staging.
💾 Commits
BÁSICO
git commit -m "mensagem"
Cria um commit com mensagem
Salva as mudanças do staging area no histórico do repositório com uma mensagem descritiva.
Salva as mudanças do staging area no histórico do repositório com uma mensagem descritiva.
INTERMEDIÁRIO
git commit -am "mensagem"
Adiciona e faz commit em um comando
Adiciona automaticamente arquivos modificados ao staging e faz commit. Não funciona com arquivos novos.
Adiciona automaticamente arquivos modificados ao staging e faz commit. Não funciona com arquivos novos.
INTERMEDIÁRIO
git commit --amend
Modifica o último commit
Permite alterar a mensagem ou adicionar arquivos ao último commit. Use apenas em commits que não foram enviados.
Permite alterar a mensagem ou adicionar arquivos ao último commit. Use apenas em commits que não foram enviados.
AVANÇADO
git commit --amend --no-edit
Adiciona arquivos ao último commit
Adiciona novos arquivos ao último commit sem alterar a mensagem. Útil quando esqueceu de adicionar um arquivo.
Adiciona novos arquivos ao último commit sem alterar a mensagem. Útil quando esqueceu de adicionar um arquivo.
🌳 Branches
BÁSICO
git branch
Lista todas as branches
Mostra todas as branches locais. A branch atual é marcada com asterisco (*).
Mostra todas as branches locais. A branch atual é marcada com asterisco (*).
BÁSICO
git branch <nome>
Cria uma nova branch
Cria uma nova branch baseada na branch atual, mas não muda para ela automaticamente.
Cria uma nova branch baseada na branch atual, mas não muda para ela automaticamente.
BÁSICO
git checkout <branch>
Muda para uma branch
Alterna para a branch especificada. Todos os arquivos são atualizados para refletir o estado da branch.
Alterna para a branch especificada. Todos os arquivos são atualizados para refletir o estado da branch.
BÁSICO
git checkout -b <nome>
Cria e muda para nova branch
Cria uma nova branch e automaticamente muda para ela. Atalho para criar e trocar em um comando.
Cria uma nova branch e automaticamente muda para ela. Atalho para criar e trocar em um comando.
INTERMEDIÁRIO
git merge <branch>
Faz merge de uma branch
Incorpora as mudanças de outra branch na branch atual. Pode criar conflitos que precisam ser resolvidos.
Incorpora as mudanças de outra branch na branch atual. Pode criar conflitos que precisam ser resolvidos.
INTERMEDIÁRIO
git branch -d <nome>
Deleta uma branch
Remove uma branch que já foi mergeada. Use
Remove uma branch que já foi mergeada. Use
-D
para
forçar a remoção de branches não mergeadas.
🌐 Repositórios Remotos
BÁSICO
git remote -v
Lista repositórios remotos
Mostra todos os repositórios remotos configurados e suas URLs.
Mostra todos os repositórios remotos configurados e suas URLs.
BÁSICO
git remote add origin <url>
Adiciona repositório remoto
Conecta seu repositório local a um repositório remoto. "origin" é o nome padrão para o remoto principal.
Conecta seu repositório local a um repositório remoto. "origin" é o nome padrão para o remoto principal.
BÁSICO
git push origin <branch>
Envia commits para o remoto
Envia suas mudanças locais para o repositório remoto. Use
Envia suas mudanças locais para o repositório remoto. Use
git push
após configurar upstream.
BÁSICO
git pull
Baixa e integra mudanças
Baixa as últimas mudanças do repositório remoto e automaticamente faz merge com sua branch atual.
Baixa as últimas mudanças do repositório remoto e automaticamente faz merge com sua branch atual.
INTERMEDIÁRIO
git fetch
Baixa mudanças sem fazer merge
Baixa as mudanças do repositório remoto mas não integra automaticamente. Permite revisar antes do merge.
Baixa as mudanças do repositório remoto mas não integra automaticamente. Permite revisar antes do merge.
INTERMEDIÁRIO
git push -u origin <branch>
Envia e configura upstream
Envia a branch e configura o tracking, permitindo usar apenas
Envia a branch e configura o tracking, permitindo usar apenas
git push
nas próximas vezes.
📚 Histórico e Logs
BÁSICO
git log
Mostra histórico de commits
Exibe todos os commits com hash, autor, data e mensagem. Use
Exibe todos os commits com hash, autor, data e mensagem. Use
q
para sair.
INTERMEDIÁRIO
git log --oneline
Log resumido em uma linha
Mostra cada commit em uma linha com hash abreviado e mensagem. Mais fácil de ler.
Mostra cada commit em uma linha com hash abreviado e mensagem. Mais fácil de ler.
INTERMEDIÁRIO
git log --graph
Log com gráfico ASCII
Exibe o histórico com um gráfico mostrando branches e merges. Combine com
Exibe o histórico com um gráfico mostrando branches e merges. Combine com
--oneline
.
INTERMEDIÁRIO
git show <commit>
Mostra detalhes de um commit
Exibe as mudanças introduzidas por um commit específico, incluindo diff completo.
Exibe as mudanças introduzidas por um commit específico, incluindo diff completo.
AVANÇADO
git blame <arquivo>
Mostra quem modificou cada linha
Exibe linha por linha quem foi o último a modificar e em qual commit. Útil para debugging.
Exibe linha por linha quem foi o último a modificar e em qual commit. Útil para debugging.
AVANÇADO
git reflog
Histórico de referências
Mostra um log de todas as ações que moveram o HEAD. Útil para recuperar commits "perdidos".
Mostra um log de todas as ações que moveram o HEAD. Útil para recuperar commits "perdidos".
⚡ Comandos Avançados
AVANÇADO
git stash
Salva mudanças temporariamente
Guarda mudanças não commitadas em uma pilha temporária. Útil para trocar de branch rapidamente.
Guarda mudanças não commitadas em uma pilha temporária. Útil para trocar de branch rapidamente.
AVANÇADO
git stash pop
Restaura mudanças do stash
Aplica as mudanças mais recentes do stash e remove da pilha. Use
Aplica as mudanças mais recentes do stash e remove da pilha. Use
git stash apply
para manter no stash.
AVANÇADO
git rebase <branch>
Reaplica commits em nova base
Move commits para uma nova base, criando um histórico linear. Mais limpo que merge, mas reescreve histórico.
Move commits para uma nova base, criando um histórico linear. Mais limpo que merge, mas reescreve histórico.
AVANÇADO
git reset --hard <commit>
Reseta para commit específico
⚠️ CUIDADO: Remove permanentemente commits e mudanças. Use
⚠️ CUIDADO: Remove permanentemente commits e mudanças. Use
--soft
para preservar mudanças.
AVANÇADO
git cherry-pick <commit>
Aplica commit específico
Pega um commit de outra branch e aplica na branch atual. Útil para aplicar correções específicas.
Pega um commit de outra branch e aplica na branch atual. Útil para aplicar correções específicas.
AVANÇADO
git revert <commit>
Reverte um commit
Cria um novo commit que desfaz as mudanças de um commit anterior. Método seguro para desfazer mudanças.
Cria um novo commit que desfaz as mudanças de um commit anterior. Método seguro para desfazer mudanças.
🎯 Workflow Recomendado:
git status
- Verificar estado atualgit add .
- Adicionar mudanças ao staginggit commit -m "mensagem"
- Fazer commitgit push
- Enviar para repositório remoto