Git Vai Muito Alem do Basico
Se voce so usa git add, git commit e git push, esta usando 10% do poder do Git. Estes 7 comandos resolvem problemas que todo dev enfrenta.
1. git stash — Salve Trabalho Sem Commitar
git stash # guarda mudancas
git stash pop # restaura mudancas
git stash list # lista todos os stashes
git stash drop stash@{0} # remove um stash especificoQuando usar: precisa trocar de branch urgente mas tem codigo incompleto.
2. git bisect — Encontre O Commit Que Quebrou
git bisect start
git bisect bad # commit atual esta quebrado
git bisect good abc123 # ultimo commit bom conhecidoO Git faz busca binaria nos commits. Em vez de checar 100 commits manualmente, encontra o problema em 7 passos.
3. git rebase -i — Limpe Seu Historico
git rebase -i HEAD~5Permite squash (juntar commits), reword (renomear), reorder e drop commits. Ideal antes de abrir PR.
4. git cherry-pick — Pegue Um Commit Especifico
git cherry-pick abc123Quando usar: precisa de um fix que esta em outra branch sem fazer merge de tudo.
5. git reflog — Desfaca Qualquer Coisa
git reflog
git reset --hard HEAD@{3}O reflog guarda TUDO que voce fez. Mesmo depois de reset --hard, voce pode recuperar commits perdidos.
6. git worktree — Multiplas Branches Simultaneas
git worktree add ../fix-branch fix/bug-123Cria um diretorio separado com outra branch. Perfeito para revisar PR enquanto trabalha em outra coisa.
7. git blame -w -M — Descubra Quem Mudou O Que
git blame -w -M src/app.tsO -w ignora mudancas de whitespace e -M detecta codigo movido entre arquivos.
Dica Bonus: Aliases
git config --global alias.lg "log --oneline --graph --all"
git config --global alias.st "status -sb"
git config --global alias.undo "reset HEAD~1 --mixed"
Conclusao
Dominar Git avancado separa juniors de seniors. Pratique esses comandos em um repo de teste antes de usar em producao.