Onde aprender React ?
Vamos lá! Em um dia qualquer estava eu a rolar o feed do Linked-In e um determinado post me chamou... Leia mais
Desenvolvedor de Software
O git cherry-pick
é um dos comandos mais poderosos e versáteis no Git, mas muitas vezes é mal compreendido ou subutilizado. Enquanto o comando git merge
mescla todas as mudanças de uma branch para outra, o cherry-pick
permite que você selecione apenas um commit específico para aplicar em outra branch. Isso pode ser extremamente útil em várias situações do seu dia a dia de desenvolvimento.
Neste post, vamos explorar o que é o git cherry-pick
, como ele funciona, e quando você deve considerar usá-lo. Além disso, abordaremos a opção -n
, que dá um controle adicional sobre quando e como realizar o commit após aplicar as mudanças de um cherry-pick.
git cherry-pick
?Na essência, o comando git cherry-pick
permite que você aplique as mudanças introduzidas por um ou mais commits específicos de uma branch em outra. Em vez de trazer todas as mudanças, como em um merge, você pode “selecionar” (ou “colher”, como a palavra sugere) commits individuais, transferindo apenas o que for necessário.
O comando básico é bem simples:
git cherry-pick <commit>
Aqui, <commit>
representa o hash do commit que você deseja aplicar. O Git vai pegar o conteúdo daquele commit e reaplicá-lo na branch atual, criando um novo commit com um novo hash.
cherry-pick
?Há várias razões pelas quais você pode querer usar o cherry-pick
em vez de um merge:
development
, mas você precisa aplicar essa correção rapidamente em production
. Usar um merge poderia trazer outras mudanças que ainda não estão prontas para produção. Nesse caso, o cherry-pick permite que você selecione apenas o commit que corrige o bug e o aplique diretamente em production
.Vamos para um exemplo prático. Suponha que você esteja na branch main
e quer pegar um commit específico da branch feature
:
git log
na branch feature
.main
:
git checkout main
Aplique o commit usando o cherry-pick
:
git cherry-pick abc1234
Pronto! O commit abc1234
foi aplicado na branch main
.
Um detalhe importante do cherry-pick é que, embora ele aplique as mesmas mudanças, o commit gerado na nova branch terá um hash diferente do original. Isso ocorre porque o Git gera um novo commit com base no estado atual da branch, e não apenas uma cópia exata do commit anterior.
Você também pode aplicar múltiplos commits de uma vez. Se os commits forem consecutivos, você pode fazer algo assim:
git cherry-pick <commitA>^..<commitB>
Isso aplicará todos os commits entre commitA
e commitB
.
-n
A opção -n
(ou --no-commit
) no git cherry-pick
oferece ainda mais flexibilidade. Quando você a usa, o Git aplica as mudanças do commit no seu working directory, mas não cria um commit imediatamente. Isso é especialmente útil se você quer fazer mais ajustes ou combinar múltiplos commits antes de finalizar o processo.
Por exemplo:
git cherry-pick -n abc1234
Após rodar esse comando, as mudanças do commit abc1234
estarão no seu diretório de trabalho, mas não será criado um commit. Você pode revisar as mudanças com git status
, e quando estiver pronto, pode criar o commit manualmente:
git commit -m "Custom commit message"
Esse método dá um controle muito maior sobre o momento exato de quando as mudanças serão commitadas. É útil em situações onde você quer mesclar várias mudanças em um único commit, ou onde precisa fazer alterações adicionais antes de finalizar.
Embora o cherry-pick seja incrivelmente útil, ele pode complicar o histórico do Git se usado incorretamente. Por exemplo, ao cherry-pick múltiplos commits e, mais tarde, realizar um merge entre as branches, você pode acabar com commits duplicados no histórico, tornando-o mais difícil de entender.
Por isso, use o cherry-pick com moderação e evite em situações onde um merge seria mais apropriado.
O git cherry-pick
é uma ferramenta poderosa, ideal para situações onde você precisa aplicar mudanças específicas entre branches sem realizar um merge completo. Com a opção -n
, você ganha ainda mais controle, podendo aplicar as mudanças sem criar um commit automaticamente, o que é perfeito para casos em que você precisa de flexibilidade antes de finalizar o processo.
Ao entender bem como o cherry-pick funciona e quando usá-lo, você poderá otimizar ainda mais o seu fluxo de trabalho no Git, tornando o gerenciamento de commits e branches mais eficaz e preciso.
Se você nunca usou o git cherry-pick
, agora é o momento de experimentá-lo e ver como ele pode te ajudar a lidar com commits de forma muito mais refinada no seu repositório!
Vamos lá! Em um dia qualquer estava eu a rolar o feed do Linked-In e um determinado post me chamou... Leia mais
O PostgreSQL 16 ainda não está disponível nos repositórios oficiais do Linux Mint 21, então usaremos o repositório oficial do... Leia mais
O git cherry-pick é um dos comandos mais poderosos e versáteis no Git, mas muitas vezes é mal compreendido ou... Leia mais
Vamos lá a mais um estudo de caso. Na tela abaixo temos um crud simples cujo frontend foi feito com... Leia mais