📘 CapÃtulo 5 – Ferramentas do Git (Git Tools)
5.1 Marcando Commits com Tags
Tags são usadas para marcar versões especÃficas no histórico do repositório, como lançamentos (v1.0
, v2.0.1
etc).
Criar uma tag leve:
git tag v1.0
Criar uma tag anotada (com metadados):
git tag -a v1.0 -m "Versão 1.0 lançada"
Listar tags:
git tag
Ver detalhes de uma tag:
git show v1.0
Enviar tags ao remoto:
git push origin v1.0 # envia uma
git push origin --tags # envia todas
5.2 Armazenando Mudanças Temporárias com stash
Use stash para guardar alterações temporariamente sem fazer commit:
git stash
Ver lista de stashes:
git stash list
Reaplicar:
git stash apply
Reaplicar e remover:
git stash pop
5.3 Encontrando Bugs com bisect
O comando git bisect ajuda a localizar em qual commit um bug foi introduzido, utilizando busca binária.
Exemplo:
git bisect start
git bisect bad # commit com bug
git bisect good <hash-bom> # commit funcional
Teste os commits intermediários e o Git indicará o commit problemático. Finalize com:
git bisect reset
5.4 Visualizando Alterações com git diff
Diferença entre diretório de trabalho e staging:
git diff
Diferença entre staging e último commit:
git diff --cached
Diferença entre dois commits:
git diff commit1 commit2
5.5 Analisando o Histórico
git log
com detalhes:
git log -p
Visual com gráfico:
git log --oneline --graph --decorate --all
Histórico por autor:
git shortlog -sn
5.6 Usando git blame
Mostra quem modificou cada linha de um arquivo:
git blame arquivo.txt
Muito útil para auditoria e revisão de histórico.
5.7 Criando Aliases
Torne comandos longos mais curtos com aliases:
git config --global alias.hist "log --oneline --graph --decorate --all"
git config --global alias.st status
git config --global alias.cm "commit -m"
Agora você pode usar:
git hist
git st
git cm "mensagem"
5.8 Resumo
Ferramentas úteis no dia a dia com Git:
git tag
: marca versõesgit stash
: armazena mudanças temporáriasgit bisect
: ajuda a encontrar o commit com buggit diff
,log
,blame
: analisam alteraçõesgit alias
: personaliza comandos