DEV Community

Bruno Ciccarino λ
Bruno Ciccarino λ

Posted on

15 Comandos Git Menos Conhecidos que Todo Desenvolvedor Deveria Conhecer

Não é de hoje que a popularidade do git vem aumentando, muito disso se deve ao fato de que ele é uma das ferramentas de versionamento de código mais performáticas existentes, claro que tem grandes concorrentes como o fossil e o lazygit mas vou falar um pouco mais disso em outro post.

E hoje nesse post vou te apresentar os comandos git menos conhecidos mas que valem a pena dar uma olhada!

Em primeiro lugar na lista vou falar sobre o git reflog. O git reflog resumidamente mostra o histórico de movimentos do HEAD, permitindo que você veja onde ele estava e possibilitando a recuperação de commits perdidos.

Ex:

git reflog

Em segundo lugar vou falar do git cherry-pick que aplica as mudanças do commit à sua branch atual, sem criar um novo commit imediatamente.

Ex:

git cherry-pick -n abc1234

Em terceiro lugar vou falar do git bisect que inicia uma busca binária para encontrar o commit que introduziu um bug, alternando entre commits até encontrar o responsável.

Ex:

git bisect start
git bisect bad <commit-ruim>
git bisect good <commit-bom>

Em quarto lugar vou falar do git blame que resumidamente exibe informações sobre quem modificou cada linha do arquivo especificado.

Ex:

git blame meu-arquivo.txt

Em quinto lugar vou falar do git shortlog que mostra um resumo da quantidade de commits feitos por cada autor no repositório.

Ex:

git shortlog -sn

Em sexto lugar vou falar do git log --graph --oneline --decorate que exibe uma representação visual da árvore de commits, mostrando branches e tags.

Ex:

git log --graph --oneline --decorate

Em sétimo lugar vou falar do git stash push que salva as mudanças atuais na pilha de stashes com uma mensagem descritiva.
Ex:

git stash push -m "Minhas mudanças temporárias"

Em oitavo lugar vou falar do git commit --amend --no-edit que adiciona as mudanças não comitadas ao último commit sem alterar a mensagem.

Ex:

git commit --amend --no-edit

Em nono lugar vou falar do git clean -fd que remove arquivos não rastreados e diretórios do repositório.

Ex:

git clean -fd

Em décimo lugar vou falar do git rerere que habilita o recurso de reutilização de resolução de conflitos. Depois de resolver um conflito, ele será lembrado para uso futuro.

Ex:

git rerere enable

Em décimo primeiro lugar vou falar do git submodule add que adiciona um repositório como submódulo ao seu repositório atual.

Ex:

git submodule add https://github.com/exemplo/submodulo.git

Em décimo segundo lugar vou falar do git archive que cria um arquivo zip do estado atual do repositório, excluindo o histórico.

Ex:

git archive -o meu-projeto.zip HEAD

Em décimo terceiro lugar vou falar do git tag que cria uma tag anotada chamada v1.0 com uma mensagem descritiva.

Ex:

git tag -a v1.0 -m "Release version 1.0"

Em décimo quarto lugar vou falar do git reflog que remove entradas antigas do reflog, limpando o histórico.

Ex:

git reflog expire --expire=now --all

Em último lugar vou falar do git diff --cached que mostra as diferenças entre as mudanças indexadas e o último commit, permitindo uma revisão antes de fazer o commit.

Ex:

git diff --cached

Top comments (0)