You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git新手求助:IntelliJ中迁移master代码到main后内容消失

问题分析与解决步骤

你的问题核心是操作顺序和分支定位错误,导致本地main分支没有正确获取master的改动,且可能本地main分支原本就未与远程同步(是空分支),所以checkout后文件夹为空。

错误点拆解

  1. 你在main分支上执行「Rebase master onto origin/main」属于操作对象错误:这个操作的意图应该是把master的改动基于远程main重新整理,但你选错了执行分支,导致master的改动没有合并到本地main。
  2. 若你克隆仓库后本地main分支未拉取远程内容(比如远程main是默认分支,但本地默认创建了master),本地main分支可能是一个空分支,checkout后自然显示为空。

正确操作步骤

前提确认

先在IntelliJ的Git工具窗口确认:

  • 远程仓库的origin/main是否存在且有内容
  • 本地master分支已包含你的改动(你已提交并推送)

步骤1:确保本地main分支与远程同步

如果本地还没有main分支,先创建并关联远程main:

git checkout -b main origin/main

如果已有本地main分支,先拉取远程最新内容:

git checkout main
git pull origin main

步骤2:将master的改动合并到main

方式一:合并(Merge,更适合新手)

  • 切换到main分支:git checkout main
  • 合并master分支的改动:git merge master
  • 若出现冲突,在IntelliJ中解决冲突后提交
  • 推送到远程main:git push origin main

方式二:变基(Rebase,保持提交历史线性)

  • 切换到master分支:git checkout master
  • 将master的提交基于远程main重新整理:git rebase origin/main
  • 解决冲突(若有),完成变基
  • 切换回main分支:git checkout main
  • 快进合并master的改动:git merge master
  • 推送到远程main:git push origin main

步骤3:清理(可选)

如果之后不再需要master分支,可删除本地和远程分支:

# 删除本地master
git branch -d master
# 删除远程master
git push origin --delete master

内容的提问来源于stack exchange,提问作者Lara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 09:16:01