Sobes.tech
Middle

Czym jest cherry-pick?

sobes.tech AI

Odpowiedź od AI

Cherry-pick to operacja Git, która pozwala na zastosowanie zmian z jednego lub kilku commitów z jednej gałęzi do innej.

Główne cechy:

  • Pozwala wybiórczo przenosić commity.
  • Tworzy nowe commity w docelowej gałęzi z tymi samymi zmianami co oryginały.
  • Może prowadzić do konfliktów, które trzeba rozwiązać ręcznie.

Typowe scenariusze użycia:

  • Naprawa błędów w gałęzi wydania, gdy poprawka została opracowana w gałęzi rozwoju.
  • Przenoszenie pojedynczych funkcji lub poprawek między gałęziami, nie naruszając innych zmian.

Proces:

  1. Znaleźć hash (SHA) commitu(-ów), które trzeba cherry-pickować.
  2. Przełączyć się na docelową gałąź.
  3. Wykonać polecenie git cherry-pick <commit-hash>.
  4. W przypadku konfliktu, rozwiązać go i dokończyć cherry-pick (git add ., git cherry-pick --continue).
  5. Aby cherry-pickować wiele commitów, można je wskazać oddzielając spacjami lub użyć zakresu git cherry-pick <commit-hash-start>..<commit-hash-end>.

Przykład polecenia:

# Zastosować jeden commit
git cherry-pick a1b2c3d4

# Zastosować kilka commitów
git cherry-pick a1b2c3d4 e5f6g7h8

# Zastosować zakres commitów (z wyłączeniem początku)
git cherry-pick a1b2c3d4..e5f6g7h8