Um guia de referência rápida em português para os comandos mais comuns e úteis do Git. Ideal para consulta rápida no dia a dia.
Antes de começar a trabalhar, configure sua identidade no Git (nome e e-mail).
# Define o nome de usuário globalmente
git config --global user.name "Seu Nome"
# Define o e-mail globalmente
git config --global user.email "seu.email@exemplo.com"Para criar um novo repositório local e enviá-lo para o GitHub/GitLab:
- Acesse o diretório do seu projeto:
cd nome_diretorio - Inicialize o Git no diretório:
git init
- Verifique o status dos arquivos:
git status
- Adicione os arquivos para o próximo commit:
git add . - Crie o primeiro commit com uma mensagem descritiva:
git commit -m "Commit inicial" - Conecte ao repositório remoto:
git remote add origin <url_do_repositorio>
- Envie as alterações para a branch principal (master/main):
git push -u origin master
# Inicializa um repositório Git local
git init
# Clona um repositório remoto via SSH/HTTPS ou local para o diretório atual
git clone /caminho/para/repositorio/local
git clone alex@93.188.160.58:/path/to/repository# Mostra o estado atual das alterações (arquivos modificados, adicionados ou não rastreados)
git status
# Adiciona um arquivo específico para a área de preparação (staging area)
git add nome_do_arquivo.extensao
# Adiciona TODOS os arquivos modificados e novos
git add .
# Grava o snapshot das alterações preparadas com uma mensagem explicativa
git commit -m "Mensagem do commit"
# Altera a mensagem ou adiciona arquivos ao último commit realizado (cuidado se já foi enviado para o remoto!)
git commit --amend# Exibe o histórico de commits de forma compacta (um commit por linha)
git log --pretty=oneline
# Exibe o log mostrando apenas os arquivos que foram alterados
git log --name-status
# Exibe o log apenas dos commits de um autor específico
git log --author="Nome"
# Exibe uma árvore visual organizada do histórico de commits de todas as branches
git log --decorate --oneline --graph --all
# Mostra o histórico de referências (ideal para recuperar commits perdidos ou resets)
git reflog# Cria uma nova branch local
git branch <nome_branch>
# Cria uma nova branch e muda para ela imediatamente
git checkout -b <nome_branch>
# Alterna para uma branch existente
git checkout <nome_branch>
# ou utilizando a sintaxe mais recente do Git:
git switch <nome_branch>
# Torna a branch local disponível publicamente no servidor remoto
git push origin <nome_branch>
# Mescla a branch especificada na sua branch atualmente ativa
git merge <nome_branch>
# Sincroniza o histórico aplicando os seus commits sobre a base da outra branch
git rebase <branch_alvo>
# Exclui uma branch local com segurança (apenas se já mesclada)
git branch -d <nome_branch># Associa um repositório remoto (URL) com o apelido 'origin'
git remote add origin <url_do_repositorio>
# Baixa as alterações do repositório remoto, mas sem mesclar no seu código local
git fetch origin
# Baixa todos os metadados e conteúdo do repositório remoto
git fetch
# Atualiza seu branch local baixando e aplicando as alterações do remoto (fetch + merge)
git pull
# Envia suas alterações locais para o servidor remoto
git push
# Envia as alterações definindo a branch remota padrão para futuros 'git push/pull'
git push --set-upstream origin master
# ou de forma abreviada:
git push -u origin master# Descartar alterações locais em um arquivo específico (retorna ao estado do HEAD)
git checkout -- <nome_do_arquivo>
# Visualizar diferenças em relação ao arquivo base
git diff --base <nome_do_arquivo>
# Visualizar as alterações de diferença entre duas branches
git diff <nome_branch_origem> <nome_branch_alvo>
# Remove arquivos do índice (staging) e do diretório de trabalho
git rm nome_arquivo.txt
# Desfaz commits locais criando um novo commit com as alterações inversas (histórico intacto)
git revert <hash_do_commit>
# Desfaz commits locais alterando o histórico (muda o ponteiro do HEAD)
# Mantém as alterações nos arquivos (soft/mixed reset)
git reset <hash_do_commit>
# Descarta COMPLETAMENTE todos os commits e alterações locais, igualando ao remoto
git fetch origin
git reset --hard origin/masterIdeal para salvar alterações temporariamente quando você precisa trocar de branch sem commitar um trabalho incompleto.
# Guarda o trabalho atual incompleto em uma pilha temporária
git stash
# Lista todos os stashes armazenados
git stash list
# Aplica o stash de volta e continua trabalhando (opcionalmente especifique o stash)
git stash apply <nome_do_stash>O Git sempre tenta resolver conflitos de mesclagem automaticamente ao executar git merge ou git pull. No entanto, em caso de conflitos em linhas idênticas, você precisará resolvê-los manualmente.
- Abra o arquivo em conflito no seu editor de código.
- Procure pelas marcações de conflito:
<<<<<<< HEAD Suas alterações locais ======= Alterações vindas do remoto/outra branch >>>>>>> branch-nome - Escolha quais linhas manter, remova as marcações do Git (
<<<<<<<,=======,>>>>>>>) e salve o arquivo. - Após resolver todos os conflitos, prepare o arquivo modificado:
git add <nome_do_arquivo>
- Conclua a mesclagem realizando o commit:
git commit -m "Resolvendo conflitos de mesclagem"