git cherry-pick 用法
git cherry-pick 是一个 Git 命令,用于将一个或多个提交从一个分支复制并应用到当前分支。
这个操作允许你有选择性地将特定提交引入到不同的分支中,而不需要合并整个分支。
以下是关于 git cherry-pick 的一些关键点和使用方法:
1 基本用法
要使用 git cherry-pick,首先需要找到你想要应用的提交的哈希值(commit hash)。这个哈希值是 Git 为每个提交分配的唯一标识符。然后,执行以下命令:
git cherry-pick <commit-hash>
这会将指定的提交应用到当前分支的头部,创建一个新的、具有相同更改的提交。
2 处理冲突
如果 cherry-pick 操作导致冲突,Git 会暂停操作,并要求你手动解决冲突,就像在合并或 rebase 过程中一样。你需要编辑冲突文件,删除 Git 插入的冲突标记,保留你想要的内容,然后:
git add <conflicted-file> git cherry-pick --continue
如果决定放弃这次cherry-pick,可以使用:
git cherry-pick --abort
3 多个提交
你也可以一次性应用多个提交,只需提供一系列的提交哈希值即可,它们可以是连续的也可以是不连续的,用空格分隔:
git cherry-pick <commit-hash1> <commit-hash2> ...
4 从一个范围pick
如果你想要应用一系列连续的提交,可以使用两个提交的哈希值来指定一个范围:
git cherry-pick <start-commit-hash>..<end-commit-hash>
注意,不包括 end-commit-hash 对应的提交。
5 场景
合并单个提交:当你只需要另一个分支中的某一次提交时。
修复bug:在某个分支上修复了一个 bug,想快速将这个修复应用到其他分支,而不合并其他无关的更改。
提取特定功能:在一个分支上开发的功能需要移植到另一个分支,但不想合并整个分支的改动。
6 注意事项
git cherry-pick 会产生一个新的提交,即使内容相同,它的哈希值也会与原始提交不同,因为它是一个全新的提交。
使用此命令时,应确保当前工作区干净,没有未提交的更改,以避免不必要的冲突或混淆。
git cherry-pick 提供了一种灵活的方式来跨分支移动和复用提交,非常适合精细化的版本管理和代码整合工作流。