> For the complete documentation index, see [llms.txt](https://kaze.gitbook.io/qa-theory/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kaze.gitbook.io/qa-theory/git/chto-takoe-cherry-pick.md).

# Что такое Cherry-pick?

**`git cherry-pick`** — это команда Git, которая позволяет **взять один или несколько конкретных коммитов из одной ветки и применить их к другой ветке**.

***

#### **Когда используется**

* Нужно перенести отдельные изменения, не сливая всю ветку.
* Исправление багов: взять коммит с исправлением из другой ветки.
* Выборочная интеграция функций или патчей.

***

#### **Как работает**

1. Находясь в ветке, куда хотите перенести изменения, выполняете:

```bash
git cherry-pick <commit-hash>
```

* `<commit-hash>` — SHA коммита, который нужно применить.

2. Git создаёт новый коммит в текущей ветке с теми же изменениями.

***

#### **Пример**

Допустим:

* В ветке `feature` есть коммит `a1b2c3` с исправлением бага.
* Вы хотите применить его в `main`:

```bash
git checkout main
git cherry-pick a1b2c3
```

* Ветка `main` теперь содержит это исправление как новый коммит.

***

#### **Особенности**

* Можно переносить **несколько коммитов**:

```bash
git cherry-pick hash1 hash2 hash3
```

* При конфликтах нужно разрешить их вручную и выполнить:

```bash
git cherry-pick --continue
```

* Используется для **выборочного слияния изменений**, а не полного merge ветки.
