我正在使用VS.NET 2013和集成的Git工具,并尝试将我的master
分支发布到我在GitHub上设置的现有存储库。我只是在IDE中使用VS.NET工具,并希望任何回复都可以使用这些工具(如果可能的话)而不是命令行。
我的所有更改都已在本地提交,我只需要将分支发布到GitHub。但是,当我尝试发布我的本地master
分支时,我收到以下错误:
您无法将本地分支主服务器发布到远程存储库源 因为那里已经存在一个同名的分支。你可能会 想要重命名本地分支,然后重试。
我知道这篇here有一篇冗长的文章,但我试图通过VS.NET或GutHub直接在线解决这个问题。充其量我想更好地理解这个问题。
我几乎是肯定的,这个问题是由于我在GitHub上选择了Initialize this repository with a README
选项而不是创建一个空白的repositoy而导致我的本地更改可以被推送到。我认为GutHub已经使用了相同的分支名称,这引起了冲突。
我想我可以删除GitHub上的存储库并从头开始,但希望能从VS.NET或GitHub中解决这个问题。有谁知道我怎么做才能成功发布我的master
分支?
答案 0 :(得分:35)
由于我刚刚创建了存储库并且没有用户,因此解决方案是从Github中删除存储库(在' Settings'菜单下)并再次创建(一旦删除,我可以使用相同的名称) )。诀窍是不从GitHub初始化存储库 - 允许VS.NET在第一次同步时执行此操作。现在它在VS.NET中运行得非常好。
如果我不删除了存储库,我将不得不使用一些外部工具来重命名本地存储库,或者使用来自其他工具(如TortoiseGit)的同步来强制覆盖同步分支。似乎没有任何原生的VS.NET允许这种情况发生。
答案 1 :(得分:17)
有一个解决方法:
转到命令提示符并转到解决方案目录。从那里你应该能够运行git命令。如果你还没有安装git,你可能需要安装它 运行'git pull origin master'。这应该将您的GitHub仓库与您的本地仓库合并。 这就是我们在命令提示符下所要做的。现在回到Visual Studio
您可能会遇到一些冲突,如果您这样做,则必须解决这些冲突并再次在本地提交。 Visual Studio将告诉您是否存在任何冲突。 解决任何冲突后,单击窗格顶部附近的“主”链接。它应该给你一个名为'manage branches'的项目的下拉列表。点击它。 您应该在“未发布的分支”标题下看到一个名为“master”的分支 右键单击master并单击“Publish Branch” 现在,您可以再次单击“未同步更改”链接,您将看到“同步”按钮不再显示为灰色 点击同步,你就完成了!
来源&信用:http://zanemayo.com/using_git_and_github_with_visual_studio.html
答案 2 :(得分:3)
答案 3 :(得分:1)
我在Visual Studio 2015中遇到过这个问题,这就是我修复它的方法。
git pull origin master
(此命令将从原始远程主分支中提取更改,并将它们合并到本地签出分支。)答案 4 :(得分:1)
我知道这是一个旧线程,但以下内容对我有用: 合并远程跟踪分支' refs / remotes / origin / master'
在VS中,转到团队资源管理器>分行;然后告诉VS将你的远程分支合并到master。
这似乎对我有用。无需删除任何内容,无需使用控制台...我们是VS开发者,我们不喜欢控制台......并且不需要第三方下载(即使其中一些很好有和易于使用。)
答案 5 :(得分:0)
对我来说,解决方案非常简单:
在源目录中打开Git Bash。
执行:
git push origin -f
这解决了这个问题。
出于某种原因,当您选择创建存储库复选框时,我的VS2013实际上并不创建git存储库,因此我必须手动创建存储库。
这个暂时烦人的问题由
解决git init
git remote add origin https://(bitbucket username)@bitbucket.org/(bitbucket project name)/(bitbucket repository name).git
git add .
git push origin -f
我知道这与想要仅使用Visual Studio界面的基本方法相反,但VS2013存在问题,这是我的解决方法。
答案 6 :(得分:0)
有一个好的解决方案:
点击“团队浏览”中的主页按钮,
然后点击下面的分支将显示
创建一个新分支,名称与本地项目/解决方案名称相同。 删除主分支之后,单击“主页”按钮,然后单击“同步”,然后单击“推送”。之后,转到bitbucket或Git网页,然后选择新创建的分支,您的本地代码将被推送到GIT上。
答案 7 :(得分:0)
我也遇到同样的问题。我在此处的某些答案上遵循了相同的步骤,但在我的Visual Studio 2015 Professional Edition中均不起作用。这是解决我的问题的步骤。
1。)首先删除git源代码控制文件,以便再次开始将解决方案链接到Github存储库。
2。)在设置下删除Github帐户上的存储库。然后创建一个新的空存储库并复制新链接。
3。)在Visual Studio 2015中重新打开您的解决方案,右键单击您的解决方案,然后选择
将解决方案添加到源代码管理中。
4。)在Visual Studio IDE下,查找未发布的提交,然后单击它。
5。)重新输入在步骤2中复制的新的Github空存储库。