Aprenda o que é cherry-pick do Git e como aplicar para agilizar seus projetos

cherry pick

Conhecer todas as funcionalidades do Git é um ponto positivo para o desenvolvedor que deseja ganhar mais agilidade e precisão nos seus projetos. Por isso, neste conteúdo trazemos dicas do que é e como usar o cherry-pick do Git. Acompanhe também um tutorial feito pela nossa equipe. 

Antes de mais nada, é importante saber o que é Git. Resumidamente, o Git é um sistema de controle de versão distribuído. O seu criador é Linus Torvalds, em 2005. Ele é famoso por também ter desenvolvido o kernel do sistema operacional Linux. 

Em suma, o Git permite que vários desenvolvedores façam alterações no mesmo código-fonte sem que ocorram problemas. E uma das funcionalidades que vamos tratar neste artigo é o cherry-pick do Git. Então, acompanhe e adicione mais esse conhecimento na sua carreira. 

O que é cherry-pick do Git? 

Vamos começar pela ideia do termo: cherry-pick, em inglês, quer dizer escolher a dedo, selecionar a melhor opção entre tantas outras.

Então, já começamos por aí. Cherry-pick é uma opção para o desenvolvedor que já realiza merge ou rebase em Git. Mas afinal do que se trata esse comando?  

Cherry-pick do Git é um comando que permite ao usuário selecionar commits específicos e trazer para o branch desejado. 

Caso o usuário dê um merge em um código que ainda não foi finalizado, pode ocorrer dele trazer pedaços do código que não precisa. E essas partes de código podem conter erros ou ainda nem terem sido testados. Por essa razão, essa ferramenta é tão importante para muitos cenários. 

Qual o objetivo e por que usar cherry-pick do Git?

O objetivo do Git cherry-pick é pegar um commit específico para a task em que se está trabalhando no momento sem o risco de selecionar ramificações que não são necessárias e que possam vir a causar bugs. 

O seu uso é fortemente recomendado para projetos de médio e grande porte. Isso porque pode ocorrer de haver muitos desenvolvedores trabalhando em cima do mesmo código. Assim, garante-se mais segurança e precisão nas alterações realizadas. 

Quais as vantagens do cherry-pick do Git? 

Para o time de desenvolvedores, o cherry-pick do Git traz muitas vantagens na execução das suas tarefas. Entre as principais estão: 

  • Possibilidade de corrigir os bugs de forma simples, pois o recurso permite selecionar uma parte específica do código; 
  • Com o recurso, é possível ao desenvolvedor pegar a commit mais correta para o caso, portanto, quando se compara a outro comando, que é o Git Diff, é aconselhável escolher cherry-pick. 
  • Permite que mais de um desenvolvedor trabalhe juntos em uma correção dentro do mesmo projeto. 

Portanto, é possível confirmar que vale a pena estudar mais a fundo este comando do Git para utilizá-lo no dia a dia ou simplesmente ter o poder de escolha na hora de fazer suas alterações no código. 

Atenção 

Mas será que o comando serve para todas as situações? Apesar de ser uma ferramenta útil, ele pode causar commits duplicados. 

Isso ocorre porque, cada vez que você utiliza o cherry-pick do Git para pegar um commit em específico, você cria um histórico de duplicação do commit em seu repositório

Isso pode dificultar o controle por parte do desenvolvedor. Portanto, em alguns casos, é bom recorrer à mesclagem.  

Como usar o Git cherry-pick na prática?

Todo commit gera um identificador que pode ser verificado com o comando:

Ele informa o id do commit, quem fez a alteração e a data. Isso ocorre do mais recente para o mais antigo.

Você pode pegar todos os commits da branch:

Um intervalo de commits:

Ou apenas um commit:

Se você for pegar vários commits que fizeram alterações no mesmo arquivo, provavelmente, você terá que resolver os conflitos.

Exemplos de Git cherry-pick

Entre os exemplos de cherry-pick do Git, temos: 

  • git cherry-pick master ou main: aplica as mudanças introduzidas por todos os commits que são ancestrais da master main;
  • — signoff: vai adicionar uma linha de assinatura ao final da mensagem;
  • –no-commit: não faz um novo commit, apenas move os antigos para dentro da ramificação atual.

Além disso, temos diversos outros comandos que podem ser encontrados na documentação.

Links de referência da documentação

Quer se aprofundar ainda mais neste assunto? Confira os links a seguir e tire suas dúvidas:  

Qual é a diferença entre rebase e cherry-pick? 

Entre os comandos de Git para mover commits temos o rebase. Vamos entender um pouco mais sobre ele. 

Basicamente, o rebase integra as alterações que são feitas entre uma branch de desenvolvimento e outra. A execução ocorre sem levar a alteração para a branch principal do repositório. 

Portanto, no rebasing você move ou combina uma sequência de commits para um novo commit base. Assim, ele acaba reescrevendo a história do commit, gerando a ele uma nova identificação. 

Enquanto isso, o cherry-pick é usado para reaplicar um commit dedicado no atual branch, gerando também uma nova identificação. 

Conclusão

O cherry-pick do Git é um comando que possibilita o desenvolvimento em equipe e permite mais agilidade nos projetos. Mas é bom lembrar que há outras opções ao desenvolvedor, que também deve analisar se o uso desse comando é o mais adequado ao seu projeto, no atual momento de execução. 

Agora que você chegou ao final deste conteúdo, aproveite para ler também um tutorial sobre como fazer To Do List em React. 

E não deixe de fazer seu cadastro como desenvolvedor na Coodesh para ter acesso a ótimas oportunidades de emprego.

Escrito por Andreyna Carvalho

Sempre levei a tecnologia e a paixão pelos códigos além de uma simples forma de trabalho. Estou focada em me aprofundar e conseguir impactar as pessoas com novas tecnologias. Hoje sou DevRel na Coodesh.

Saiba a diferença entre Talent Sourcer e Talent Acquisition

benefícios para desenvolvedores

Veja quais são os principais benefícios corporativos para desenvolvedores