cherry-pick
cherry-pick 是 Git 中的一种操作,允许你从一个分支中选择特定的 commit,并将其应用到另一个分支。它的主要用途是将特定的更改引入到其他分支,而无需合并整个分支历史。这在修复 bug 或者移植某些功能时特别有用。
cherry-pick 的使用场景
- Bug 修复: 例如,你在 feature 分支上修复了一个 bug,需要将这个修复应用到 main 分支。
- 功能移植: 你开发了一些有用的功能在一个分支上,但希望在另一个特性开发的分支中使用这些功能。
- 回滚特定提交: 某些提交被错误地推送,你可以在一个新的分支上 cherry-pick 需要保留的更改。
cherry-pick 的基本使用
假设你有如下的 Git 分支结构:
A---B---C---D---E (main)
\
F---G---H (feature)
你可以使用 cherry-pick 从 feature 分支上选择某个特定的 commit 并应用到 main 分支,例如将 G 应用到 main 分支。
- 切换到目标分支:
git checkout main - 执行 cherry-pick:
git cherry-pick
例如:
git cherry-pick abc1234
其中 abc1234 是 G 的哈希值。
cherry-pick 后的解决冲突
有时 cherry-pick 会导致冲突,需要手动