git cherry-pick <commit-SHA-1>后仍含有多个提交
时间: 2023-08-05 07:48:36 浏览: 173
如果你从另一个分支或提交中 cherry-pick 一个提交,但是当前分支中仍然包含其他提交,那么可能是因为这些提交是在 cherry-pick 的提交之后进行的。
在这种情况下,你需要使用 `git rebase` 命令来将这些提交移动到 cherry-pick 的提交之后。具体来说,你需要按照以下步骤操作:
1. 使用 `git log` 命令查看当前分支的提交历史,确定需要移动的提交范围。假设需要移动的提交范围是从提交 `A` 到提交 `B`。
2. 切换到 cherry-pick 的提交所在的分支。
```
git checkout <cherry-pick-branch>
```
3. 使用 `git rebase` 命令将需要移动的提交范围移动到 cherry-pick 的提交之后。
```
git rebase --onto <cherry-pick-commit> <A> <B>
```
其中,`<cherry-pick-commit>` 是 cherry-pick 的提交的 SHA-1 标识符,`<A>` 和 `<B>` 是需要移动的提交范围的起点和终点的 SHA-1 标识符。
4. 切换回当前分支。
```
git checkout <current-branch>
```
5. 使用 `git merge` 命令将 cherry-pick 的提交合并到当前分支中。
```
git merge <cherry-pick-commit>
```
其中,`<cherry-pick-commit>` 是 cherry-pick 的提交的 SHA-1 标识符。
通过这些步骤,你可以将需要移动的提交范围移动到 cherry-pick 的提交之后,并将 cherry-pick 的提交合并到当前分支中,从而解决当前分支中含有多个提交的问题。
阅读全文