You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何合并main与master分支并将master代码迁移至main分支?

如何将代码从'master'迁移到'main'分支(解决无关历史合并问题)

没问题,我来给你一套简单直接的操作步骤,完美适配你的场景:

  • 第一步:拉取远程最新的'main'分支
    先确保本地能获取到远程新创建的'main'分支:

    git fetch origin main
    
  • 第二步:切换到你的代码所在的'master'分支
    因为所有代码都在'master'上,先切过去确认状态:

    git checkout master
    
  • 第三步:把'master'的代码迁移到'main'分支
    这里有两种稳妥的方式,你可以选一种:

    1. 合并方式(保留完整历史)
      切换到'main'分支,然后合并'master',加上允许无关历史的参数:

      git checkout main
      git merge master --allow-unrelated-histories
      

      因为'main'是刚创建的空分支,大概率不会有冲突,直接提交后推送到远程:

      git push origin main
      
    2. 重置方式(更直接,适合空'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

火山引擎 最新活动