36 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: Git Cherry Pick
 | 
						|
---
 | 
						|
## Git Cherry Pick
 | 
						|
 | 
						|
The `git cherry-pick` command applies the changes introduced by some existing commits. This guide will be focusing on explaining this feature as much as possible but of course the real <a href='https://git-scm.com/docs/git-cherry-pick' target='_blank' rel='nofollow'>Git documentation</a> will always come in handy.
 | 
						|
 | 
						|
### Checkout an Existing Branch Cherry Pick from master
 | 
						|
To apply the change introduced by the commit at the tip of the master branch and create a new commit with this change. Run the following command
 | 
						|
```shell
 | 
						|
git cherry-pick master
 | 
						|
```
 | 
						|
 | 
						|
### Check in a change from a different commit
 | 
						|
To apply the change introduced by the commit at the particular hash value you want, run the following command
 | 
						|
```shell
 | 
						|
git cherry-pick {HASHVALUE}
 | 
						|
```
 | 
						|
This will add the changes included referenced in that commit, to your current repository
 | 
						|
 | 
						|
### Apply certain commits from one branch to another
 | 
						|
`cherry-pick` allows you to pick and choose between commits from one branch one to another. Let's say you have two branches `master` and `develop-1`. In the branch `develop-1` you have 3 commits with commit ids `commit-1`,`commit-2` and `commit-3`. Here you can only apply `commit-2` to branch `master` by:
 | 
						|
```shell
 | 
						|
git checkout master
 | 
						|
git cherry-pick commit-2
 | 
						|
```
 | 
						|
If you encounter any conflicts at this point, you have to fix them and add them using `git add` and then you can use the continue flag to apply the cherry-pick.
 | 
						|
```shell
 | 
						|
git cherry-pick --continue
 | 
						|
```
 | 
						|
If you wish to abort a cherry-pick in between you can use the abort flag:
 | 
						|
```shell
 | 
						|
git cherry-pick --abort
 | 
						|
```
 | 
						|
 |