Learning Hub Logo

Sobre Diego Pinho

Professor especialista em tecnologia com mais de 10 anos de experiência. Autor de livros técnicos e criador de cursos que já impactaram milhares de estudantes.

Visite meu site principal →

Serviços

  • Área do Aluno
  • Solicite um orçamento
  • Trabalhe Conosco

Redes Sociais

  • Youtube
  • TikTok
  • Instagram
  • LinkedIn

Links

  • Site Institucional
  • Nosso Blog
  • Cursos Online
  • Livros Publicados

Professor Diego Pinho

Educação, Tecnologia e IA © 2026

Git›Resumo Prático de Git

Resumo Prático de Git

Guia essencial de Git em português para iniciantes. Conceitos fundamentais com comandos práticos para controle de versão.

⚡1 min de leitura

1. Configuração Inicial

1# Inicializar um novo repositório Git 2$ git init 3 4# Configurar nome de usuário (global) 5$ git config --global user.name "Seu Nome" 6 7
# Configurar email do usuário (global)
8$ git config --global user.email "seu.email@exemplo.com"
9
10# Visualizar configurações definidas
11$ git config --global user.name
12$ git config --global user.email
13
14# Configurar para assinatura de commits com GPG
15$ git config --global user.signingkey ID_CHAVE_AQUI
16
17# Ver rapidamente os comandos disponíveis
18$ git help
19
20# Ver todos os comandos disponíveis
21$ git help -a
22
23# Help detalhado para um comando específico
24$ git help add
25$ git help commit
26$ git help pull

2. Ignorar Arquivos e Status

1# Listar e ignorar arquivos usando .gitignore 2# Criar arquivo na raiz do projeto: 3$ echo "node_modules/" >> .gitignore 4$ echo "*.log" >> .gitignore 5$ echo "chaves_privadas/" >> .gitignore 6$ echo ".env" >> .gitignore 7 8# Ver status do repositório 9# (mostra branch, alterações e arquivos não rastreados) 10$ git status 11 12# Status em formato resumido 13$ git status --short 14 15# Ver quais arquivos estão sendo rastreados 16$ git ls-files

3. Adicionar e Fazer Commit

1# Adicionar um arquivo específico 2$ git add README.md 3 4# Adicionar todos os arquivos em um sub-diretório 5$ git add ./src/ 6 7# Adicionar múltiplos arquivos com padrão 8$ git add ./*.java 9$ git add ./src/**/*.js 10 11# Adicionar todas as alterações do projeto 12$ git add -A 13$ git add . 14 15# Adicionar apenas arquivos já rastreados 16$ git add -u 17 18# Fazer commit com mensagem 19$ git commit -m "Implementar função de login" 20 21# Adicionar e fazer commit de uma vez 22$ git commit -a -m "Modificar arquivo existente e fazer commit" 23 24# Emendar o último commit (sem criar um novo) 25$ git commit --amend -m "Mensagem corrigida" 26 27# Fazer commit assinado com GPG 28$ git commit -S -m "Adicionar validação de entrada" 29 30# Ver log de commits 31$ git log 32 33# Log em uma linha (mais compacto) 34$ git log --oneline 35 36# Log com gráfico visual de branches 37$ git log --graph 38 39# Log com limite de commits 40$ git log -5 41 42# Ver commits de um arquivo específico 43$ git log -- arquivo.txt

4. Branches

1# Listar todas as branches locais 2$ git branch 3 4# Listar branches remotas 5$ git branch -r 6 7# Listar todas as branches (locais e remotas) 8$ git branch -a 9 10# Criar uma nova branch 11$ git branch develop 12 13# Criar e fazer checkout de uma nova branch 14$ git checkout -b feature/login 15 16# Renomear uma branch 17$ git branch -m develop new-develop 18$ git branch -m old-name new-name 19 20# Deletar uma branch 21$ git branch -d develop 22 23# Forçar deletar uma branch 24$ git branch -D develop 25 26# Editar descrição de uma branch 27$ git branch develop --edit-description 28 29# Ver ramo atual 30$ git rev-parse --abbrev-ref HEAD

5. Checkout e Alternância

1# Ver status atual (em qual branch você está) 2$ git status 3 4# Mudar para uma branch existente 5$ git checkout develop 6$ git checkout main 7 8# Criar e mudar para uma nova branch 9$ git checkout -b feature/novo-componente 10 11# Mudar para um commit específico (detached HEAD) 12$ git checkout abc123def 13 14# Descartar alterações em um arquivo 15$ git checkout -- arquivo.js 16 17# Restaurar um arquivo de um commit específico 18$ git checkout HEAD~2 -- arquivo.js

6. Tags (Marcadores de Versão)

1# Listar todas as tags 2$ git tag 3 4# Listar tags com padrão específico 5$ git tag -l "v1.*" 6 7# Criar uma tag anotada (recomendado) 8$ git tag -a v1.0.0 -m 'Release versão 1.0.0' 9 10# Criar uma tag leve (lightweight - mais simples) 11$ git tag v1.0.0-beta 12 13# Ver informações de uma tag 14$ git show v1.0.0 15 16# Criar tag em um commit específico 17$ git tag -a v0.9.0 -m "Beta" abc123def 18 19# Deletar uma tag local 20$ git tag -d v1.0.0 21 22# Enviar uma tag específica para repositório remoto 23$ git push origin v1.0.0 24 25# Enviar todas as tags para remoto 26$ git push origin --tags

7. Clonar e Repositórios Remotos

1# Clonar um repositório (cria cópia local completa) 2$ git clone https://github.com/usuario/projeto.git 3 4# Clonar apenas o último commit (clone superficial - mais rápido) 5$ git clone --depth 1 https://github.com/usuario/projeto.git 6 7# Clonar apenas uma branch específica 8$ git clone -b main --single-branch https://github.com/usuario/projeto.git 9 10# Listar repositórios remotos configurados 11$ git remote 12 13# Ver URLs dos repositórios remotos 14$ git remote -v 15 16# Adicionar um novo repositório remoto 17$ git remote add origin https://github.com/usuario/projeto.git 18 19# Renomear um repositório remoto 20$ git remote rename origin upstream 21 22# Remover um repositório remoto 23$ git remote remove origin 24 25# Ver informações detalhadas de um remoto 26$ git remote show origin

8. Comparar Alterações

1# Ver diferenças entre arquivo modificado e staged 2$ git diff 3 4# Ver diferenças entre staged e último commit 5$ git diff --cached 6$ git diff --staged 7 8# Ver diferenças entre diretório atual e último commit 9$ git diff HEAD 10 11# Ver diferenças entre dois commits 12$ git diff abc123def def456ghi 13 14# Ver diferenças de um arquivo específico 15$ git diff -- arquivo.js 16 17# Ver diferenças com números de linha 18$ git diff -U0 19 20# Ver apenas nomes de arquivos modificados 21$ git diff --name-only 22 23# Pesquisar por padrão em arquivos (grep) 24$ git grep 'nomeDaVariavel' -- '*.js' 25 26# Pesquisar por múltiplos padrões 27$ git grep -e 'nomeDoArray' --and \( -e add -e remove \)

9. Merge e Rebase

1# Mesclar uma branch na branch atual 2$ git merge develop 3 4# Mesclar sem criar commit de merge (fast-forward) 5$ git merge --ff-only develop 6 7# Forçar criar um commit de merge mesmo se possível fast-forward 8$ git merge --no-ff develop 9 10# Ver branches já mescladas 11$ git branch --merged 12 13# Ver branches não mescladas 14$ git branch --no-merged 15 16# Fazer rebase da branch atual em cima de outra 17$ git rebase main 18 19# Rebase interativo (reorganizar/editar commits) 20$ git rebase -i HEAD~3 21 22# Continuar rebase após resolver conflitos 23$ git rebase --continue 24 25# Abortar um rebase 26$ git rebase --abort

10. Push, Pull e Desfazer

1# Enviar commits para repositório remoto 2$ git push origin main 3 4# Enviar e associar branch local com branch remota 5$ git push -u origin feature/login 6 7# Enviar todas as branches 8$ git push --all 9 10# Buscar alterações do remoto (sem mesclar) 11$ git fetch origin 12 13# Buscar alterações e mesclar (equivalente a fetch + merge) 14$ git pull origin main 15 16# Pull com rebase (em vez de merge) 17$ git pull origin main --rebase 18 19# Desfazer alterações não staged 20$ git restore arquivo.js 21$ git checkout -- arquivo.js 22 23# Resetar index (desfazer git add) 24$ git reset filename.js 25 26# Resetar para o último commit (mantém alterações no diretório) 27$ git reset --soft HEAD~1 28 29# Resetar para o último commit (descarta alterações) 30$ git reset --hard HEAD~1 31 32# Resetar para um commit específico 33$ git reset --hard abc123def 34 35# Reverter um commit específico (cria novo commit desfazendo-o) 36$ git revert abc123def 37 38# Guardar alterações temporariamente 39$ git stash 40 41# Listar alterações guardadas 42$ git stash list 43 44# Aplicar alterações guardadas 45$ git stash pop 46 47# Aplicar sem remover do stash 48$ git stash apply 49 50# Deletar alterações guardadas 51$ git stash drop stash@{0} 52 53# Ver o reflog (histórico de movimentações HEAD) 54$ git reflog 55 56# Voltar para um estado anterior usando reflog 57$ git reset --hard HEAD@{2}