如何合并分支但不保留旧分支文件?
解决方案
要实现保留主分支提交历史、同时用新分支内容完全替换主分支文件的需求,不用先删主分支文件,有两种简洁的方法:
方法一:通过合并提交整合(保留合并记录)
- 切换到主分支:
git checkout main - 执行合并命令——因为两个分支属于不同框架版本,历史无关联,所以要加
--allow-unrelated-histories;同时用-X theirs让Git自动用新分支内容覆盖所有冲突(这里几乎所有文件都会被判定为冲突):git merge --allow-unrelated-histories -X theirs <你的新分支名称> - 最后提交合并结果即可:
git commit -m "合并新框架版本,替换主分支所有内容"
方法二:直接引入新分支内容作为新提交(无合并记录)
如果不想生成合并提交,只想给主分支追加一个替换内容的新提交:
- 切换到主分支:
git checkout main - 直接把新分支的所有文件拉取到主分支,覆盖现有内容:
git checkout <你的新分支名称> -- . - 提交变更:
git add . git commit -m "替换主分支为新框架版本"
这两种方法都能完整保留主分支原有的提交历史,比你之前设想的删文件再合并高效得多。
内容的提问来源于stack exchange,提问作者user17051329
相关产品推荐
相关产品推荐

