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 statusegit diffpara entender o estado do seu repositório antes de fazer alterações - Use
git switchegit restoreem vez do antigogit checkoutpara comandos mais claros e focados - Conheça
git reflogcomo 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.
Discover how at OpenReplay.com.
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.