Forem

Bruno Ciccarino λ
Bruno Ciccarino λ

Posted on

1

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

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay