Guia Herez de Comandos Git Completo
Piada

Minha favorita: “Meu relacionamento com o Git é igual a um namoro: eu faço commit, ele dá push, e quando aparece um conflito a gente termina e eu tento revertar a vida.”

Foi boa vai; senão achou então uma segunda tentativa: “Por que o Git nunca perde a paciência? Porque ele sempre pode stashar os problemas.”

Resumo: referência prática dos comandos Git mais usados, com explicações e exemplos completos que a equipe Herez aplicou em projetos reais. Este post serve como checklist rápido e tutorial prático para desenvolvedores e times de engenharia.

Git Controle de Versão DevOps Herez

Por que este guia importa

O Git é a base do fluxo de trabalho moderno de desenvolvimento. Conhecer os comandos essenciais e saber quando usá‑los reduz erros, acelera entregas e facilita colaboração. Abaixo você encontra os comandos organizados por categoria, exemplos práticos e scripts que a Herez usa em repositórios e pipelines.


Resumo rápido dos comandos

Categoria Comando O que faz
Básicosgit initCriar novo repositório
Básicosgit cloneCopiar repositório remoto
Básicosgit statusVer alterações pendentes
Básicosgit addAdicionar à área de preparação
Básicosgit commit -m "mensagem"Salvar alterações
Sincronizaçãogit pullTrazer alterações remotas e mesclar
Sincronizaçãogit pushEnviar commits ao remoto
Sincronizaçãogit remote add <url>Conectar repositório local a remoto
Sincronizaçãogit fetchBaixar alterações sem mesclar
Branchesgit branchListar, criar ou excluir branches
Branchesgit switch <nome>Mudar de branch
Branchesgit merge <nome>Mesclar outra branch
Branchesgit branch -d <nome>Excluir branch
Avançadogit log --oneline --graph --allHistórico resumido e visual
Avançadogit stashSalvar alterações temporariamente
Avançadogit stash popRestaurar alterações salvas
Avançadogit rebase <branch>Reaplicar commits para histórico limpo
Avançadogit cherry-pick <id-commit>Aplicar commit específico em outra branch
Desfazergit restore <arquivo>Desfazer alterações em arquivo
Desfazergit reset HEAD <arquivo>Remover arquivo da área de preparação
Desfazergit revert <id-commit>Criar commit que reverte outro
Ajudagit <comando> --helpVer manual do comando

Comandos básicos com exemplos práticos

git init

O que faz: inicializa um repositório Git local.

mkdir meu-projeto
cd meu-projeto
git init
# cria .git e prepara o repositório local
Exemplo Herez: usado para iniciar projetos internos de POCs; repositórios iniciais contêm README, .gitignore e pipeline CI mínimos.

git clone

O que faz: clona um repositório remoto para sua máquina.

git clone git@servidor:herez/projeto.git
cd projeto
Exemplo Herez: clonamos repositórios de templates para iniciar novos serviços com scripts de deploy prontos.

git status

O que faz: mostra arquivos modificados, staged e não rastreados.

git status --short
# M indica modificado, ?? indica não rastreado

git add

O que faz: adiciona alterações à área de preparação (staging).

git add arquivo.py
git add .  # adiciona todas as alterações

git commit

O que faz: cria um commit com as alterações staged.

git commit -m "Corrige bug no parser de CSV"
Exemplo Herez: mensagens padronizadas com prefixos (feat/, fix/, docs/) e uso de hooks para validar mensagens antes do commit.

Sincronização com repositórios remotos

git remote add

O que faz: adiciona um remoto ao repositório local.

git remote add origin git@servidor:herez/projeto.git
git remote -v

git fetch

O que faz: baixa referências e objetos do remoto sem mesclar.

git fetch origin
git log HEAD..origin/main --oneline

git pull

O que faz: busca e mescla alterações do remoto na branch atual.

git pull origin main
Exemplo Herez: usamos git pull --rebase em pipelines locais para manter histórico linear antes de push.

git push

O que faz: envia commits locais para o remoto.

git push origin feature/minha-feature
# para criar upstream:
git push -u origin feature/minha-feature

Trabalhando com branches

git branch

O que faz: listar, criar ou excluir branches.

git branch            # lista branches locais
git branch nova-branch # cria nova branch
git branch -d antiga   # exclui branch local

git switch

O que faz: muda para outra branch.

git switch nova-branch
# alternativa antiga: git checkout nova-branch

git merge

O que faz: mescla outra branch na atual.

git switch main
git merge feature/minha-feature
Exemplo Herez: mesclagens via pull request com revisão de código; merges fast‑forward evitados por política de equipe.

git branch -d

O que faz: exclui branch local já mesclada.

git branch -d feature/minha-feature

Comandos avançados e fluxo limpo

git log –oneline –graph –all

O que faz: exibe histórico compacto e visual em árvore.

git log --oneline --graph --all --decorate

git stash

O que faz: guarda alterações temporariamente sem commit.

git stash save "WIP: ajuste parser"
git stash list
git stash pop
Exemplo Herez: usamos stash para trocar rapidamente de branch durante code review sem perder trabalho em andamento.

git rebase

O que faz: reaplica commits sobre outra base para manter histórico linear.

git switch feature
git fetch origin
git rebase origin/main
# resolver conflitos, depois:
git rebase --continue
Exemplo Herez: rebase interativo (git rebase -i) para squash de commits antes de abrir PRs públicos.

git cherry-pick

O que faz: aplica um commit específico em outra branch.

git switch hotfix
git cherry-pick a1b2c3d4
Exemplo Herez: cherry-pick usado para portar correções críticas para branches de release sem mesclar todo o trabalho em desenvolvimento.

Desfazer alterações com segurança

git restore

O que faz: desfaz alterações em arquivo (worktree).

git restore arquivo.txt
# para restaurar versão do commit:
git restore --source=HEAD~1 arquivo.txt

git reset HEAD

O que faz: remove arquivo da área de preparação sem perder alterações locais.

git reset HEAD arquivo.txt

git revert

O que faz: cria um novo commit que reverte outro commit (seguro para histórico público).

git revert a1b2c3d4
# cria commit que desfaz as mudanças do commit especificado
Exemplo Herez: preferimos git revert em branches compartilhadas para manter histórico auditável e evitar reescrita pública.

Ajuda e documentação

git <comando> –help

O que faz: exibe manual do comando com opções e exemplos.

git commit --help
git --help --all

Boas práticas Herez para uso de Git

  • Mensagens claras: use convenções (tipo: escopo — descrição) e ferramentas de lint para commits.
  • Branches curtas: mantenha branches de feature pequenas e com PRs frequentes.
  • Rebase local, não remoto: reescreva histórico apenas antes de compartilhar; evite rebase em branches públicas.
  • Proteja branches principais: use políticas de merge, revisão obrigatória e CI verde antes de mergear.
  • Automatize: hooks, CI e pipelines para testes, lint e deploy reduzem erros humanos.
  • Documente: mantenha um CONTRIBUTING.md com fluxo Git recomendado pela equipe.
Observação Herez: todos os exemplos acima foram aplicados em projetos reais da Herez. Repositórios com scripts, hooks e pipelines de exemplo estão disponíveis nos repositórios internos da Herez para referência da equipe.

Checklist rápido para operações comuns

  • Iniciar projeto: git init, criar .gitignore, primeiro commit.
  • Trabalhar em feature: git switch -c feature/x, commits pequenos, git push -u origin feature/x.
  • Atualizar branch: git fetch, git rebase origin/main ou git merge origin/main conforme política.
  • Corrigir emergência: git switch hotfix, aplicar correção, git cherry-pick se necessário.
  • Desfazer com segurança: git revert para histórico público; git reset ou git restore para trabalho local.

Excerpt: Guia Herez de comandos Git com explicações, exemplos práticos e recomendações de uso em projetos reais.

Tags: Git; controle de versão; DevOps; Herez