如何合并main与master分支并将master代码迁移至main分支?
如何将代码从'master'迁移到'main'分支(解决无关历史合并问题)
没问题,我来给你一套简单直接的操作步骤,完美适配你的场景:
第一步:拉取远程最新的'main'分支
先确保本地能获取到远程新创建的'main'分支:git fetch origin main第二步:切换到你的代码所在的'master'分支
因为所有代码都在'master'上,先切过去确认状态:git checkout master第三步:把'master'的代码迁移到'main'分支
这里有两种稳妥的方式,你可以选一种:合并方式(保留完整历史)
切换到'main'分支,然后合并'master',加上允许无关历史的参数:git checkout main git merge master --allow-unrelated-histories因为'main'是刚创建的空分支,大概率不会有冲突,直接提交后推送到远程:
git push origin main重置方式(更直接,适合空'main'分支)
直接让'main'分支完全指向'master'的最新提交,相当于把'master'的内容完整复制过去:git checkout main git reset --hard master git push origin main --force这里的
--force是安全的,因为远程'main'没有其他提交记录,不会覆盖别人的代码。
第四步(可选):清理旧的'master'分支
迁移完成后,如果不需要保留远程的'master'分支了,可以删掉它:git push origin --delete master
补充:如果本地还没有创建'main'分支,先执行这行创建并切换过去:
git checkout -b main
内容的提问来源于stack exchange,提问作者Ken




