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

atc*_*way 23 git github visual-studio visual-studio-2013

我正在使用VS.NET 2013和集成的Git工具,并尝试将我的master分支发布到我在GitHub上设置的现有存储库.我在IDE中专门使用VS.NET工具,如果可能的话,请使用这些工具,而不是命令行.

我的所有更改都已在本地提交,我只需要将分支发布到GitHub.但是,当我尝试发布我的本地master分支时,我收到以下错误:

您无法将本地分支主服务器发布到远程存储库源,因为那里已存在具有相同名称的分支.您可能希望重命名本地分支,然后重试.

我知道有一个长篇文章这一这里,但我想从VS.NET或在网上直接GutHub如果可能解决这个问题.充其量我想更好地理解这个问题.

我几乎是肯定的,这个问题是由于我Initialize this repository with a README在GitHub上选择选项而不是创建一个空白的repositoy,我可以推送到我的本地更改.我认为GutHub已经使用了相同的分支名称,这引起了冲突.

我想我可以删除GitHub上的存储库并从头开始,但希望能从VS.NET或GitHub中解决这个问题.有谁知道我怎么做master才能成功发布我的分支?

atc*_*way 36

由于我刚刚创建了存储库并且没有用户,因此解决方案是从Github中删除存储库(在"设置"菜单下)并再次创建(一旦删除,我可以使用相同的名称).诀窍是从GitHub初始化存储库 - 允许VS.NET在第一次同步时执行此操作.现在它从VS.NET中运行得非常好.

如果我删除存储库,我将不得不使用一些外部工具来重命名本地存储库,或者使用来自其他工具(如TortoiseGit)的同步,该工具允许强制在同步时覆盖分支.似乎没有任何原生的VS.NET允许这种情况发生.

  • 我遇到了同样的问题.这太荒谬了.我最初只是使用GitHub for Windows,所以我的本地主人已经绑定到我的GitHub repo的主人.VS没有充分理由不尊重这种设置. (5认同)

Dar*_*711 17

有一个解决方法:

转到命令提示符并切换到您的解决方案目录.从那里你应该能够运行git命令.如果你还没有运行'git pull origin master',你可能必须安装git.这应该将您的GitHub仓库与您的本地仓库合并.这就是我们在命令提示符下所要做的.现在回到Visual Studio

您可能会遇到一些冲突,如果您这样做,则必须解决这些冲突并再次在本地提交.Visual Studio将告诉您是否存在任何冲突.解决任何冲突后,单击窗格顶部附近的"主"链接.它应该给你一个名为'manage branches'的项目的下拉列表.点击它.您应该在"未发布的分支"标题下看到一个名为"master"的分支右键单击master并单击"Publish Branch"现在您可以再次单击"unsynced changes"链接,您将看到"Sync"按钮是不再灰色点击同步,你就完成了!

来源和信用:http://zanemayo.com/using_git_and_github_with_visual_studio.html