GitHub中如何将无共同提交历史的分支合并到main分支
解决无共同提交历史的分支合并问题
有两种可行的解决方式,根据你的实际需求选择:
方式一:直接用目标分支覆盖空main分支
如果不需要保留main分支的空历史记录,直接把my-new-branch的内容完全同步到main:
- 切换到
main分支:git checkout main - 强制将
my-new-branch的内容覆盖当前分支:git reset --hard my-new-branch - 推送到远程仓库(因为是强制修改分支历史,需要加
-f参数):git push -f origin main
方式二:保留所有提交历史,强制合并无关分支
如果需要保留my-new-branch的所有提交记录,同时合并到main:
- 切换到
main分支:git checkout main - 使用允许无关历史的参数执行合并:
git merge my-new-branch --allow-unrelated-histories - 若合并时出现冲突,手动解决冲突后,执行提交:
git add .,git commit -m "合并my-new-branch到main分支" - 最后推送到远程仓库:
git push origin main
补充:如果之后需要和原仓库同步更新,可以把原仓库添加为上游远程:git remote add upstream 原仓库的GitHub地址,后续拉取原仓库更新时用git fetch upstream,再合并到自己的分支即可。
内容的提问来源于stack exchange,提问作者Reno
相关产品推荐
相关产品推荐

