从VS.NET将master分支发布到GitHub时出错

时间:2014-09-03 21:18:50

标签: git visual-studio github visual-studio-2013

我正在使用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分支?

8 个答案:

答案 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)

VS 2013将在您第一次提交同步时初始化GIT存储库。因此,简单的解决方案是删除GIT存储库并在没有初始化选项的情况下重新创建它。

enter image description here

答案 3 :(得分:1)

我在Visual Studio 2015中遇到过这个问题,这就是我修复它的方法。

  1. 连接到您当地的git存储库
  2. Open Branch
  3. 右键单击主分支
  4. 选择“打开命令提示符”
  5. 运行git pull origin master(此命令将从原始远程主分支中提取更改,并将它们合并到本地签出分支。)
  6. 发布您的存储库。

答案 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)

有一个好的解决方案:

点击“团队浏览”中的主页按钮,

enter image description here

然后点击下面的分支将显示

enter image description here

创建一个新分支,名称与本地项目/解决方案名称相同。 删除主分支之后,单击“主页”按钮,然后单击“同步”,然后单击“推送”。之后,转到bitbucket或Git网页,然后选择新创建的分支,您的本地代码将被推送到GIT上。

答案 7 :(得分:0)

我也遇到同样的问题。我在此处的某些答案上遵循了相同的步骤,但在我的Visual Studio 2015 Professional Edition中均不起作用。这是解决我的问题的步骤。

1。)首先删除git源代码控制文件,以便再次开始将解决方案链接到Github存储库。

enter image description here

2。)在设置下删除Github帐户上的存储库。然后创建一个新的空存储库并复制新链接。

enter image description here

3。)在Visual Studio 2015中重新打开您的解决方案,右键单击您的解决方案,然后选择

  

将解决方案添加到源代码管理中。

enter image description here

4。)在Visual Studio IDE下,查找未发布的提交,然后单击它。

enter image description here

5。)重新输入在步骤2中复制的新的Github空存储库。

enter image description here