mirror of
https://codeberg.org/Mo8it/How_To_Linux.git
synced 2024-11-23 20:31:34 +00:00
Merge pull request 'feat/cherry-pick' (#19) from kravchenmd/dev-tools:feat/cherry-pick into main
Reviewed-on: https://codeberg.org/mo8it/dev-tools/pulls/19
This commit is contained in:
commit
6d5c0d9862
1 changed files with 56 additions and 0 deletions
|
@ -70,8 +70,64 @@ git commit -m "Your commit message here"
|
|||
|
||||
## git revert
|
||||
|
||||
|
||||
## git cherry-pick
|
||||
|
||||
### Description
|
||||
|
||||
The `git cherry-pick` command applies a specific commit from one branch to another. This can be useful for undoing changes, applying bug fixes to a different branch, or picking out specific changes from a merge commit.
|
||||
|
||||
### Usage
|
||||
|
||||
The basic syntax for the `git cherry-pick` command is:
|
||||
|
||||
```bash
|
||||
git cherry-pick <commit-hash>
|
||||
```
|
||||
where `<commit-hash>` is the SHA-1 hash of the commit you want to cherry-pick. You can also use the `-n` option to preview the changes without actually applying them.
|
||||
|
||||
For example, to cherry-pick the commit with the SHA-1 hash `1234567890abcdef`, you would run the following command:
|
||||
|
||||
```bash
|
||||
git cherry-pick 1234567890abcdef
|
||||
```
|
||||
|
||||
Example with visualization of the git log graph:
|
||||
|
||||
- Let's assume the current branch state:
|
||||
```bash
|
||||
a - b - c - d Main
|
||||
\
|
||||
e - f - g Feature
|
||||
```
|
||||
|
||||
- Ensure that we'are working in the `main` branch:
|
||||
```bash
|
||||
git checkout main
|
||||
```
|
||||
|
||||
- Then let's execute the following `cherry-pick` command:
|
||||
```bash
|
||||
git cherry-pick f
|
||||
```
|
||||
|
||||
- Once executed, branch state will change to:
|
||||
```bash
|
||||
a - b - c - d - f Main
|
||||
\
|
||||
e - f - g Feature
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
The `git cherry-pick` command has a few options that you can use to customize its behavior:
|
||||
|
||||
* `-n`: Preview the changes without actually applying them.
|
||||
* `-e`: Edit the commit message before applying it.
|
||||
* `-s`: Sign the commit with your GPG key.
|
||||
* `-S[<keyid>]`: Sign the commit with the specified GPG key.
|
||||
|
||||
|
||||
## git remote
|
||||
|
||||
## git blame
|
||||
|
|
Loading…
Reference in a new issue