Featured image of post 7 dicas para melhorar sua produtividade com Git

7 dicas para melhorar sua produtividade com Git

Recursos Git não tão conhecidos para ajudar no seu trabalho diário

Introdução Link to this section

Git é o sistema de controle de código-fonte mais popular, com incríveis 93,87% de adoção pelos desenvolvedores (de acordo com a Pesquisa de 2022 do StackOverflow). É um sistema realmente poderoso, com muitos recursos ocultos não conhecidos pela maioria de nós, desenvolvedores.

Neste post, mostrarei alguns desses recursos que facilitarão seu trabalho ao usar o Git.

1 - Remover branches excluídas remotamente no fetch Link to this section

Trecho da documentação do Git:

O Git tem uma disposição padrão de manter os dados, a menos que sejam explicitamente descartados; isso se estende a manter referências locais a branches em remotos que eles próprios excluíram esses branches.

Se deixadas acumular, essas referências obsoletas podem piorar o desempenho em repositórios grandes e ocupados que têm muita rotatividade de branches e, por exemplo, tornar a saída de comandos como git branch -a –contains desnecessariamente verbosa, bem como impactar qualquer outra coisa que funcione com o conjunto completo de referências conhecidas.

Para remover branches locais que não têm referências de rastreamento remoto ao buscar todas as branches, em vez de usar o parâmetro --all, use o parâmetro --prune:

git fetch --prune

Documentação do git fetch –prune

2 - Fazer merge/rebase sem fazer checkout da branch de destino Link to this section

Ao fazer um merge ou um rebase, é comum ver as pessoas fazerem o seguinte:

1
2
3
4
git checkout branch-to-merge-from
git pull
git checkout minha-branch-de-trabalho
git merge branch-to-merge-from

As branches do Git são apenas referências a um commit. Quando fazemos um fetch, as branches remotas são criadas localmente com um prefixo origin/, então não há necessidade de fazer checkout da branch-to-merge-from antes de fazer merge.

ℹ️ O prefixo da branch remota depende do nome remoto, mas o padrão é origin.

O seguinte funciona sem ter que fazer checkout e pull na branch local branch-to-merge-from:

1
2
git fetch --prune
git merge origin/branch-to-merge-from

Documentação do git Remote Branch

3 - Acionar o pipeline CI/CD com um commit em branco Link to this section

Se você estiver trabalhando com um pipeline CI/CD (e você deveria), às vezes você precisa acionar o pipeline sem fazer alterações no código. Em vez de alterar arquivos adicionando linhas vazias no final, criando logs desnecessários, podemos criar um commit vazio:

1
2
git commit --allow-empty -m 'Empty commit'
git push

Documentação do git commit –allow-empty

4 - Visualizar um arquivo em outra branch Link to this section

Ao trabalhar em um recurso, muitas vezes precisamos verificar um arquivo em outra branch, por exemplo, na branch de produção (main). Alguns serviços Git oferecem uma interface web que facilita a procura de arquivos em branches específicas, mas se você não tiver esta opção, o Git pode mostrar o arquivo na linha de comando sem ter que mudar de branch, usando o comando show seguido pelo nome da branch e o caminho para o arquivo.

git show main:src/Program.cs

Como com outros comandos Git, podemos passar qualquer commit ou referência, em vez do nome da branch:

# Mostra o arquivo program.cs no commit anterior
git show HEAD~1:src/Program.cs

Documentação do git show

5 - Fazer checkout da branch usada anteriormente Link to this section

Para voltar para a branch usada anteriormente, basta passar - como o parâmetro da branch:

1
2
3
git checkout develop
git checkout main
git checkout - #Faz checkout da branch develop

6 - Pesquisando no Git Link to this section

Se você quiser pesquisar por uma string em seu repositório, use o comando git grep.

Para procurar a string em todos os commits, forneça a lista de commits para git grep usando o comando git rev-list --all como mostrado abaixo:

1
2
# Procura pela palavra "git" em todos os arquivos de todos os commits
git rev-list --all | xargs git grep "git"

Documentação do git grep

7 - Mostrando o log de commits como um gráfico Link to this section

O Git pode mostrar os logs de commit na forma de um gráfico na linha de comando. Para isso, use o parâmetro --graph do comando git log.

ℹ️ Passe o parâmetro --oneline para mostrar o hash do commit e a mensagem do commit em uma linha e facilitar a leitura do gráfico.

git log --graph --oneline

O Git também pode mostrar o histórico de commits de um arquivo específico:

git log --graph --oneline systemcontext.md

Documentação do git log –graph

Extra - Git Aliases Link to this section

Para facilitar o uso desses comandos, podemos criar aliases Git. Neste post explico os aliases Git e mostro alguns que uso diariamente.

💬 Like or have something to add? Leave a comment below.
Ko-fi
GitHub Sponsor
Licensed under CC BY-NC-SA 4.0
Criado com Hugo
Tema Stack desenvolvido por Jimmy