使用 cherry-pick 修改之前的提交

时之世 发布于 2025-07-20 2098 次阅读 预计阅读时间: 1 分钟 最后更新于 2025-07-20 263 字 无~


用途

某几个特定的提交从一个分支复制到另一个分支。

具体操作

现在我们有 test 分支

一. 创建备份分支,获取原分支提交内容

基于 test 分支创建 test-copy 分支

git checkout test #切换到需要创建备份的分支
git checkout -b test-copy #基于当前分支创建一个新分支,并自动切换到该分支

二. 根据想要更改的提交的 hash,把提交内容拿过

git cherry-pick c3d3bb4e9 -n

三. 提交更改

git add .
git commit -m "feat/refactor/docs: your message here"

四. 删除旧分支 tset

删除本地分支:

git branch -D test

删除远程分支 (如果存在):

git push origin --delete test

五. 基于当前分支创建新的 test

git checkout -b test

此时你就有了一个新的、干净的 test 分支,它的历史是你刚刚 cherry-pick 和修改后的内容。


六. 推送新分支到远程

git push origin test

如果你想让它成为远程默认跟踪分支:

git push -u origin test