创建IntelliJ项目并推送到Bitbucket仓库后遇分支分歧问题
解决IntelliJ新建项目推送到Bitbucket Git仓库时的分支分歧问题
问题描述
我尝试将新建的IntelliJ项目推送到Bitbucket上的新Git仓库,但失败并提示“分支分歧(divergent branches)”信息。希望仅通过IntelliJ完成基础版本控制操作,无需使用命令行,但目前陷入循环问题。
已执行的操作步骤
- 在Bitbucket网页端创建新仓库
- 在IntelliJ中创建基于Gradle的Kotlin项目
- 在IntelliJ中选择「VCS / 启用版本控制集成」
- 在IntelliJ中进入「Git / 管理远程仓库」,添加从Bitbucket克隆按钮获取的URL作为新远程仓库
- 在IntelliJ中执行「Git / 获取」(Fetch)
- 在IntelliJ中执行「Git / 拉取」(Pull):此时出现「你有分歧的分支,需要指定如何协调它们」提示
- 在命令行执行:
git config pull.rebase false - 此后陷入「分支分歧」或「main无跟踪分支」的循环问题
使用版本:IntelliJ IDEA 2024.1.5(旗舰版)
解决方案(全程无需命令行)
方法一:重置本地分支并关联远程(适合新建仓库无重要本地提交)
- 打开IntelliJ的「Git」菜单,选择「重置 HEAD...」(Reset HEAD...)
- 在弹出窗口中,选择「硬重置(Hard)」,目标选择远程分支
origin/main(若远程默认分支是master则选origin/master),点击「重置」- 注意:硬重置会清空本地未提交修改,确认无需要保留的内容再操作
- 回到「Git」菜单,选择「分支」→「设置跟踪分支」,将
origin/main设为当前本地main分支的跟踪目标 - 执行「Git / 拉取」确认同步,之后提交本地项目文件,再执行「Git / 推送」即可
方法二:合并远程分支并解决冲突(若本地有需保留的内容)
- 打开IntelliJ的「Git」菜单,选择「合并变更...」(Merge Changes...)
- 在窗口中选择远程分支
origin/main作为合并来源 - 若出现冲突,在IntelliJ的冲突解决界面手动处理冲突,完成后提交合并结果
- 合并完成后执行「Git / 推送」即可
避免问题的正确新建推送流程
下次按此流程操作可直接规避分支分歧:
- 在Bitbucket网页端创建新仓库(可选择添加README、.gitignore等初始化文件)
- 在IntelliJ中选择「获取从版本控制」(Get from Version Control),直接克隆Bitbucket的新仓库到本地
- 在克隆后的项目中添加Gradle Kotlin项目内容
- 提交本地修改后直接推送,无需手动启用版本控制集成和添加远程仓库
内容的提问来源于stack exchange,提问作者Arne Evertsson
相关产品推荐
相关产品推荐

