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
 | |
| ```
 | |
| 
 |