0Pricing
DevOps Bootcamp · Aula

Aplicando commits seletivamente

Entenda como aplicar seletivamente commits individuais de uma ramificação em outra usando `git cherry-pick`.

Aplicando commits seletivamente é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

Movendo commits seletivamente

E se você precisar apenas de uma alteração específica de uma ramificação, e não da ramificação inteira? git cherry-pick permite aplicar um único commit de qualquer ponto do histórico do seu repositório diretamente à sua ramificação atual.

É como escolher uma única cereja de uma árvore! Isso cria um commit completamente novo na sua ramificação atual, duplicando as alterações do original.

Quando usar o cherry-pick

Imagine que você está trabalhando em uma grande ramificação de funcionalidade e descobre que uma correção crítica de erro feita nela também é necessária agora na sua ramificação principal de produção. Você ainda não quer mesclar toda a ramificação de funcionalidade.

Este é um cenário perfeito para usar cherry-pick. Ele ajuda a transportar alterações isoladas sem trazer trabalho não relacionado.

O comando básico

O comando fundamental é simples: git cherry-pick <commit-hash>.

  • Primeiro, verifique se você está na ramificação onde deseja aplicar o commit.
  • Depois, você precisará do identificador exclusivo (hash) do commit que deseja selecionar.
  • O Git criará um novo commit com as mesmas alterações na sua ramificação atual.
git cherry-pick <commit-hash>

Encontrando hashes de commits

Para usar cherry-pick, você precisa do hash! É possível encontrá-lo usando git log.

A opção --oneline é muito útil para obter uma visualização concisa:

git log --oneline

Configurando um cenário de cherry-pick

Vamos configurar um cenário simples. Criaremos uma ramificação main e uma ramificação feature/login. Faremos um commit em feature/login que queremos trazer para main.

Queremos trazer o commit "HOTFIX" para main.

git init my_project
cd my_project
echo "Initial content" > file.txt
git add file.txt
git commit -m "Initial commit"
git branch feature/login
git checkout feature/login
echo "Login feature added" >> login.txt
git add login.txt
git commit -m "Add basic login feature"
echo "Fix: Login button style" >> style.css
git add style.css
git commit -m "HOTFIX: Fix login button styling"

Executando o cherry-pick

Agora, volte para a ramificação main e aplique o commit "HOTFIX". Suponha que o hash de "HOTFIX: Fix login button styling" seja abcdefg.

Depois de executar esse comando, um novo commit aparecerá na sua ramificação main com as mesmas alterações de abcdefg. Use git log --oneline para visualizá-lo!

git checkout main
git cherry-pick abcdefg

Lidando com conflitos de cherry-pick

Assim como na mesclagem, o cherry-pick pode causar conflitos se as mesmas linhas de código tiverem sido alteradas de maneiras diferentes nos dois históricos.

  • O Git pausará a operação e marcará os arquivos conflitantes.
  • Resolva manualmente os conflitos nos arquivos.
  • Adicione os arquivos resolvidos com git add.
  • Conclua com git cherry-pick --continue.
# After resolving conflicts in editor:
git add .
git cherry-pick --continue

Selecionando vários commits

Você pode fazer cherry-pick de mais de um commit por vez.

Para selecionar um intervalo de commits (de hashA até, mas sem incluir, hashB):

git cherry-pick hashA..hashB

Quando usar (e quando não usar)

O cherry-pick é poderoso, mas deve ser usado com critério.

  • Bom para: correções urgentes e transporte de pequenas alterações isoladas entre ramificações não relacionadas.
  • Menos indicado para: integrar regularmente grandes conjuntos de alterações, pois isso pode gerar commits duplicados e dificultar o acompanhamento do histórico se não houver cuidado. Prefira mesclar ou fazer rebase para integrar uma ramificação inteira.

Verificação rápida: objetivo do cherry-pick

Você tem um commit na sua ramificação feature/new-design que corrige um problema crítico de estilo. Você precisa dessa correção imediatamente na sua ramificação main, sem mesclar toda a ramificação de funcionalidade.

Recapitulação: alterações direcionadas

Nesta lição, aprendemos sobre git cherry-pick, um comando útil para aplicar commits específicos à sua ramificação atual.

  • Ele cria um novo commit com as mesmas alterações na ramificação de destino.
  • É ideal para correções urgentes ou para transportar alterações isoladas.
  • Você precisa do hash do commit, normalmente encontrado com git log --oneline.
  • Esteja preparado para resolver conflitos, assim como na mesclagem.

Dominar o cherry-pick oferece um controle preciso sobre o histórico do seu projeto!

Perguntas Frequentes

A aula “Aplicando commits seletivamente” é grátis?

Sim — o texto completo de “Aplicando commits seletivamente” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “Aplicando commits seletivamente”?

Entenda como aplicar seletivamente commits individuais de uma ramificação em outra usando `git cherry-pick`. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Aplicando commits seletivamente”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Resolução manual de conflitos de mesclagem
  2. Rebase interativo para o histórico
  3. Aplicando commits seletivamente
  4. Usando o Git Rerere para Reutilizar Resoluções de Conflitos
← Voltar para DevOps Bootcamp