使用 git cherry-pick 指南
以下是一篇详细的操作指南,介绍如何使用 git cherry-pick 将一个分支上的部分提交应用到另一个分支。
1. 确定源分支和目标分支
- 源分支:你想从中挑选提交的分支。
- 目标分支:你想将这些提交应用到的分支。
2. 切换到目标分支
git checkout target-branch
确保目标分支是最新的状态:
git pull origin target-branch
3. 确定要挑选的提交
- 在源分支上查看提交历史:
git checkout source-branch
git log --oneline
- 记录下你想要应用到目标分支的提交的哈希值(或提交ID)。
4. 切换回目标分支
git checkout target-branch
5. 使用 cherry-pick 挑选提交
单个提交
如果只需要一个提交:
git cherry-pick <commit-hash>
多个连续提交
如果需要挑选一系列连续的提交:
git cherry-pick <start-commit>..<end-commit>
这里的 <start-commit> 是你想挑选的第一个提交的哈希值,<end-commit> 是你想挑选的最后一个提交的哈希值。
多个非连续提交
如果需要挑选多个非连续的提交,可以逐个挑选:
git cherry-pick <commit-hash1>
git cherry-pick <commit-hash2>
git cherry-pick <commit-hash3>
6. 解决冲突(如果有)
- 如果在
cherry-pick过程中遇到冲突,Git会暂停操作并提示你解决冲突。 - 打开冲突文件,解决冲突后,使用
git add标记为已解决。 - 使用
git cherry-pick --continue继续下一个提交的应用。
# 解决冲突
git add <file>
git cherry-pick --continue
- 如果你想放弃
cherry-pick,可以使用git cherry-pick --abort。
7. 检查结果
- 检查你的目标分支,确保提交已经成功应用:
git log --oneline
- 确保所有更改都已正确应用。
8. 推送更改(如果需要)
如果一切正常,并且你想将这些更改推送到远程仓库:
git push origin target-branch
留下评论