gitlab-org--gitlab-foss/doc/topics/git/cherry_picking.md

54 lines
1.1 KiB
Markdown
Raw Normal View History

---
stage: Create
group: Source Code
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
comments: false
---
# Cherry Pick
Given an existing commit on one branch, apply the change to another branch.
This can be useful for backporting bug fixes to previous release branches. Make
the commit on the default branch, and then cherry pick it into the release branch.
## Sample workflow
1. Check out a new `stable` branch from the default branch:
```shell
git checkout master
git checkout -b stable
```
1. Change back to the default branch:
```shell
git checkout master
```
1. Make any required changes, then commit the changes:
```shell
git add changed_file.rb
git commit -m 'Fix bugs in changed_file.rb'
```
1. Review the commit log and copy the SHA of the latest commit:
```shell
git log
```
1. Check out the `stable` branch:
```shell
git checkout stable
```
1. Cherry pick the commit by using the SHA copied previously:
```shell
git cherry-pick <commit SHA>
```