Nx发布遇未知版本错误,如何合并指定区间Git提交?
合并指定提交范围为单个初始提交的简便方法
操作步骤(无冲突风险)
这种方法直接基于目标提交的最终状态创建新的初始提交,完全跳过中间提交的冲突处理:
- 确保工作区无未提交修改:
git stash - 创建一个无提交历史的空分支:
git checkout --orphan new-initial - 将目标提交
a07a5ad3的所有内容同步到当前分支:git checkout a07a5ad3 -- . - 提交为新的初始提交:
git commit -m "Initial commit" - 将原主分支(比如
main)强制指向这个新提交:git branch -f main new-initial - 切换回主分支:
git checkout main - (可选)删除临时分支:
git branch -D new-initial - 推送修改到远程仓库(注意:会覆盖远程历史,多人协作需提前告知团队):
git push -f origin main
关键说明
- 这个方法避开了
git rebase需要逐个处理提交冲突的问题,直接提取指定提交的最终文件状态生成新提交,彻底解决无限冲突的问题。 - 如果之前用
git stash保存了未提交修改,执行完后可以用git stash pop恢复。
内容的提问来源于stack exchange,提问作者Cody Pritchard
相关产品推荐
相关产品推荐

