能否在不修改提交的情况下执行Git cherry-pick操作?
针对单提交PR的无分叉分支更新方案
问题背景
- 仓库最新提交为
1234 - 他人复刻仓库后新增提交
abcd并发起PR - 分支未分叉,优先选择变基而非合并操作
- 使用
git cherry-pick abcd会生成新提交wxyz,原因是Git自动修改了Committer、CommitDate等元数据 - 当前手动流程:
git fetch <对方仓库>→git reset --hard abcd→ 推送分支
简化操作方法
方式1:直接拉取PR提交并重置分支
无需手动添加对方远程仓库,利用GitHub对PR的内置支持,直接拉取PR的目标提交:
# 拉取对应PR(替换<PR编号>为实际数字)的最新提交 git fetch origin pull/<PR编号>/head # 将当前分支重置到该提交 git reset --hard FETCH_HEAD # 强制推送到远程仓库(因为分支历史被修改) git push -f
这个流程和你手动操作的效果一致,但省去了添加对方远程仓库的步骤,更简洁。
方式2:GitHub UI一键变基合并(若可接受提交哈希变更)
如果不要求保留原提交abcd的哈希值,直接在PR页面点击Rebase and merge按钮即可。GitHub会自动将对方的提交变基到你的分支顶端,生成新的提交并合并,全程无需本地操作。
内容的提问来源于stack exchange,提问作者allo
相关产品推荐
相关产品推荐

