Back

10 Comandos Git que Todo Desenvolvedor Deveria Conhecer

10 Comandos Git que Todo Desenvolvedor Deveria Conhecer

Os comandos Git formam a base de todo fluxo de trabalho de desenvolvimento moderno. Seja fazendo push de código para produção ou colaborando com uma equipe distribuída, esses dez comandos cobrirão a maior parte do seu trabalho diário. Aqui está o que você realmente precisa saber para um fluxo de trabalho Git moderno em 2025.

Principais Conclusões

  • Domine git status e git diff para entender o estado do seu repositório antes de fazer alterações
  • Use git switch e git restore em vez do antigo git checkout para comandos mais claros e focados
  • Conheça git reflog como sua rede de segurança para recuperar commits perdidos e desfazer erros
  • Mantenha sua instalação do Git atualizada para se beneficiar de patches de segurança e novos recursos

Verificando o Estado do Seu Repositório

git status

Antes de fazer qualquer outra coisa, git status informa como as coisas estão. Ele mostra arquivos modificados, alterações preparadas (staged) e arquivos não rastreados no seu diretório de trabalho.

git status

Execute isso com frequência. Isso previne surpresas antes dos commits e ajuda você a entender o que o Git está vendo.

git diff

Enquanto status mostra quais arquivos mudaram, diff mostra o que mudou dentro deles.

git diff              # alterações não preparadas
git diff --staged     # alterações preparadas

Revise suas alterações antes de fazer commit. Isso detecta erros precocemente.

Preparação e Commit

git add

A preparação (staging) prepara as alterações para o seu próximo commit. Você controla exatamente o que vai em cada snapshot.

git add filename.js   # preparar um arquivo
git add .             # preparar tudo

Para mais controle, use git add -p para preparar hunks específicos dentro dos arquivos—útil quando você fez múltiplas alterações não relacionadas.

git commit

Os commits criam snapshots permanentes no histórico do seu projeto.

git commit -m "Corrigir bug de timeout de autenticação"

Escreva mensagens claras. Se você precisar corrigir a mensagem do seu último commit ou adicionar alterações esquecidas, use git commit --amend.

Trabalhando com Remotos

git clone

Clone baixa um repositório e seu histórico completo para sua máquina.

git clone https://github.com/user/repository.git

git pull

Pull busca alterações do remoto e as mescla (merge) na sua branch atual.

git pull origin main

Nota: git pull combina git fetch e git merge. Se você quiser inspecionar as alterações remotas antes de fazer merge, execute git fetch primeiro.

git push

Push envia seus commits locais para o repositório remoto.

git push origin main

Apenas alterações com commit são enviadas. Trabalho não commitado permanece local.

Branching e Histórico

git switch

Para troca de branches, git switch é a abordagem moderna—introduzido no Git 2.23 e agora o comando recomendado em vez do antigo git checkout para esse propósito.

git switch feature-branch      # trocar de branch
git switch -c new-feature      # criar e trocar

Git switch vs checkout: checkout ainda funciona, mas lida com muitas tarefas não relacionadas (trocar branches, restaurar arquivos, desanexar HEAD). switch faz uma coisa claramente. Use-o.

git restore

Da mesma forma, git restore lida com a restauração de arquivos—outra tarefa anteriormente sobrecarregada no checkout.

git restore filename.js           # descartar alterações do diretório de trabalho
git restore --staged filename.js  # remover arquivo da preparação

Essa separação torna o modelo mental do Git mais claro para desenvolvedores aprendendo a ferramenta em 2025.

git log

Entender o histórico do seu projeto é importante. git log mostra o histórico de commits da sua branch atual.

git log --oneline --graph    # visualização compacta com estrutura de branches

A flag --oneline mantém a saída legível. Adicione --graph para visualizar ramificações e merges.

Recuperação com git reflog

Quando as coisas dão errado—e vão dar—git reflog é sua rede de segurança. Ele registra cada movimento do HEAD, mesmo commits que não aparecem mais no git log.

git reflog

Acidentalmente fez reset para o commit errado? Deletou uma branch? reflog ajuda você a encontrar e recuperar trabalho perdido. Não é um comando diário, mas saber que ele existe economiza horas de pânico.

Uma Nota sobre Escolhas de Fluxo de Trabalho

As equipes frequentemente debatem merge vs rebase. Ambos integram alterações, mas diferem em como o histórico fica depois. Merge preserva a estrutura completa da branch. Rebase cria um histórico linear. Nenhum é universalmente correto—escolha com base nas preferências da sua equipe e nas necessidades do projeto.

Também vale notar: mantenha sua instalação do Git razoavelmente atualizada. Versões recentes abordaram avisos de segurança que vale a pena corrigir.

Conclusão

Esses comandos—status, diff, add, commit, clone, pull, push, switch, log e reflog—cobrem o essencial do Git para desenvolvedores fazendo trabalho do dia a dia. Domine esses primeiro. Os comandos mais avançados se tornam úteis uma vez que essa base esteja sólida.

Comece a usar switch e restore se ainda não o fez. Eles refletem como os comandos Git são projetados em 2025: focados, previsíveis e mais fáceis de raciocinar.

FAQs

Git fetch baixa alterações de um repositório remoto, mas não as mescla na sua branch local. Git pull combina fetch e merge em um único passo, integrando automaticamente as alterações remotas na sua branch atual. Use fetch quando quiser revisar as alterações antes de fazer merge delas.

Use git reset --soft HEAD~1 para desfazer seu último commit mantendo todas as alterações preparadas. Se você quiser as alterações não preparadas, mas ainda no seu diretório de trabalho, use git reset HEAD~1. Ambas as abordagens preservam seu trabalho enquanto removem o commit do histórico.

Use git switch para todas as operações relacionadas a branches, como trocar de branches ou criar novas. Git switch foi introduzido no Git 2.23 especificamente para lidar com branching, enquanto checkout permanece sobrecarregado com múltiplas funções não relacionadas. Switch fornece intenção mais clara e reduz confusão.

Execute git reflog para encontrar o hash do commit onde sua branch apontava antes da exclusão. Então recrie a branch usando git branch branch-name commit-hash. Reflog rastreia todos os movimentos do HEAD por cerca de 90 dias por padrão, tornando a recuperação possível mesmo após exclusões acidentais.

Gain control over your UX

See how users are using your site as if you were sitting next to them, learn and iterate faster with OpenReplay. — the open-source session replay tool for developers. Self-host it in minutes, and have complete control over your customer data. Check our GitHub repo and join the thousands of developers in our community.

OpenReplay