git 的cherry pick 会改变commit ID么?
时间: 2023-12-14 09:34:47 浏览: 88
在使用git cherry-pick命令时,会将指定的commit应用到当前分支上,并生成一个新的commit。这个新的commit会有一个新的commit ID,因为它包含了原始commit的变更,但是它并不是原始commit本身。因此,使用git cherry-pick命令不会改变原始commit的ID。
举个例子,如果我们有一个commit ID为abc123的commit,我们使用git cherry-pick命令将其应用到当前分支上,那么会生成一个新的commit,它的ID可能是def456。这个新的commit包含了原始commit的变更,但是它的ID是全新的。
相关问题
git cherry pick怎么更改commit id
可以使用 `git rebase -i` 命令来更改 commit id。
首先使用 `git log` 命令查看需要 cherry-pick 的 commit id,然后使用 `git rebase -i <commit-id>` 命令进入交互式 rebase 模式。在打开的编辑器中将需要 cherry-pick 的 commit 前面的 `pick` 改为 `edit`,保存并退出编辑器。
然后使用 `git cherry-pick <commit-id>` 命令来 cherry-pick 这个 commit。如果需要修改 commit id,可以使用 `git commit --amend` 命令来修改 commit message 或者 commit 内容。
修改完成后,使用 `git rebase --continue` 命令来继续进行 rebase 操作。如果出现冲突需要解决,则需要使用 `git add` 命令来添加修改后的文件,并使用 `git rebase --continue` 命令来继续 rebase 操作,直到完成为止。完成后使用 `git log` 命令查看 commit id 是否已经更改成功。
git cherry-pick commit-id
git cherry-pick命令用于选择一个或多个特定的提交(commit)并将其应用到当前分支上。下面是两种使用git cherry-pick命令的例子:
1. 挑选多个commit:
```shell
git cherry-pick commit_id1 commit_id2 commit_id3
```
这个命令将会挑选出commit_id1、commit_id2和commit_id3这三个提交,并将它们应用到当前分支上。
2. 使用单个commit-id:
```shell
git cherry-pick <commit-id>
```
这个命令将会挑选出指定的commit-id提交,并将其应用到当前分支上。
请注意,使用git cherry-pick命令时,你需要确保当前分支与目标分支是一致的,否则可能会出现冲突。