Ione Souza Junior

Git Cherry-Pick: Aplicando Commits de Forma Seletiva

29/03/2024 | 3 minutos de leitura | TraduçÔes: en | #git

Cherry-picking no Git Ă© uma tĂ©cnica poderosa que permite escolher commits especĂ­ficos de um branch e aplicĂĄ-los a outro. Isso pode ser particularmente Ăștil quando vocĂȘ deseja trazer mudanças individuais de um branch para outro sem mesclar o branch inteiro. Neste post, veremos como esse comando funciona!

Compreendendo o git cherry-pick

O comando git cherry-pick é uma ferramenta poderosa no Git que permite selecionar commits específicos de um branch e aplicå-los a outro branch. Essa abordagem seletiva para integrar commits permite que os desenvolvedores incorporem conjuntos de alteraçÔes individuais em sua base de código sem mesclar branches inteiros.

Quando vocĂȘ executa git cherry-pick <hash-do-commit>, o Git identifica o commit especificado e copia suas alteraçÔes para o branch atual. Esse processo efetivamente replica as alteraçÔes do commit, criando um novo commit com um hash distinto.

O cherry-picking Ă© particularmente Ăștil quando vocĂȘ precisa incorporar mudanças especĂ­ficas de um branch em outro sem trazer commits nĂŁo relacionados. Essa abordagem direcionada para a integração de commits ajuda a manter um histĂłrico de commit limpo e focado, facilitando o rastreamento e a compreensĂŁo da evolução da base de cĂłdigo.

Suponha que vocĂȘ identificou uma correção crĂ­tica de bug em um branch de recurso que precisa ser aplicada ao branch de desenvolvimento principal. Em vez de mesclar o branch de recurso inteiro, que pode conter alteraçÔes adicionais que nĂŁo estĂŁo prontas para integração, vocĂȘ pode fazer cherry-pick do commit de correção de bug e aplicĂĄ-lo diretamente ao branch principal. Isso garante que apenas as alteraçÔes necessĂĄrias sejam incorporadas, minimizando o risco de introduzir modificaçÔes nĂŁo intencionais.

Da mesma forma, o cherry-picking pode ser usado para retroportar correçÔes de bugs seletivamente ou aplicar recursos especĂ­ficos a diferentes branches, como um branch de lançamento estĂĄvel. Ao fazer cherry-pick de commits individuais, vocĂȘ tem controle detalhado sobre quais alteraçÔes sĂŁo incluĂ­das em cada branch, permitindo atualizaçÔes direcionadas e uma gestĂŁo eficiente de cĂłdigo.

Exemplo de uso

Suponha que vocĂȘ tenha um branch de recurso onde fez algumas mudanças e commits. Agora, vocĂȘ deseja trazer apenas um desses commits para o seu branch principal:

git cherry-pick <hash-do-commit>

Este comando levarĂĄ o commit do seu branch de recurso e o aplicarĂĄ ao seu branch atual. Às vezes, ao fazer cherry-pick de um commit, o Git pode encontrar conflitos se as alteraçÔes no commit entrarem em conflito com as alteraçÔes no branch atual. Nesses casos, o Git pausarĂĄ o processo de cherry-pick e pedirĂĄ que vocĂȘ resolva os conflitos manualmente.

ConclusĂŁo

Normalmente, uso este comando quando estou fazendo grandes mudanças na base de código e preciso dividi-las em diferentes pull requests para que meus colegas de equipe as revisem. Consigo fazer isso porque geralmente faço vårios commits quando estou desenvolvendo, normalmente um para cada mudança significativa que faço no código, e isso facilita o processo de cherry-pick. O cherry-picking é uma ferramenta valiosa no Git para aplicar commits seletivamente de um branch para outro. Ele permite trazer mudanças individuais sem mesclar branches inteiros, proporcionando mais controle granular sobre o histórico do seu projeto. Então, da próxima vez que precisar incorporar mudanças específicas de um branch em outro, recorra ao comando git cherry-pick e use seu poder seletivo com confiança!