VS2013向BitBucket发布项目报错:远程存在同名master分支
解决VS2013推送BitBucket时的分支冲突问题
你遇到的是本地分支和远程分支同名且历史不匹配的典型问题——远程仓库的master分支已经存在(大概率是你创建仓库时自动生成了README或.gitignore文件),而你的本地项目master分支和远程分支没有同步过,直接推送就会触发这个报错。下面给你两种靠谱的解决思路,按优先级来试:
方法一:同步远程内容后推送(推荐,不丢失任何内容)
这是最安全的方式,先把远程仓库的现有内容拉到本地合并,再推送你的代码:
VS2013图形界面操作
- 打开团队资源管理器,确保已经连接到你的BitBucket仓库。
- 切换到「同步」选项卡,点击顶部的「拉取」按钮,将远程
master分支的内容拉取到本地。 - 如果出现冲突提示,点击「解决冲突」,手动合并冲突文件(VS会高亮冲突部分,你可以选择保留本地或远程内容,或者手动编辑)。
- 冲突解决完成后,提交合并结果,再点击「推送」按钮,就能成功把本地代码推送到远程了。
Git命令行操作(如果GUI操作遇到问题,用这个更直接)
- 打开项目所在文件夹的Git Bash(或命令提示符)。
- 先建立本地
master和远程origin/master的追踪关系:git branch --set-upstream-to=origin/master master - 拉取远程内容并合并到本地:
git pull origin master - 如果有冲突,打开冲突文件手动修改,然后执行:
git add . git commit -m "解决远程分支冲突" - 最后推送本地代码:
git push origin master
方法二:重命名本地分支后推送(适合不想合并远程内容的场景)
如果你不想保留远程的初始内容,或者想换个分支名推送,可以这么做:
命令行操作
- 重命名本地
master分支:git branch -m master my-project-master - 推送新分支到远程:
git push origin my-project-master - (可选)如果想把这个新分支设为仓库默认分支,登录BitBucket仓库后台,在「设置」→「分支」里修改默认分支即可。
⚠️ 注意:不要轻易用强制推送命令git push -f origin master,除非你确定要完全覆盖远程master的所有内容——这个操作会丢失远程已有的文件,新手谨慎使用。
内容的提问来源于stack exchange,提问作者Mist
相关产品推荐
相关产品推荐

