如何从Visual Studio 2013将现有解决方案添加到GitHub


208

我浏览了许多关于VS 2013中新的Git集成的网页,他们没有处理向Github添加现有解决方案的问题。实际上,我在使用GitHub而不是Visual Studio Online方面找不到很多东西。

谁能告诉我如何从现有解决方案开始,然后使用VS 2013中的工具将其添加到Github。


为什么不只是从命令行执行呢?它应该只有大约5个命令(创建仓库,将项目添加到仓库[2命令],添加远程,推送到远程)?所有的命令都有很好的文档记录。
R0MANARMY

2
通过VS的github添加它会在github页面上添加“使用Visual Studio打开”按钮。小但有用的:)
Ateik '16

Answers:


348

好的,这对我有用。

  1. 在Visual Studio 2013中打开解决方案
  2. 选择文件| 添加到源代码管理
  3. 选择Microsoft Git提供程序

创建一个本地GIT存储库

  1. 浏览到GitHub
  2. 创建一个新的存储库不要选择用自述文件初始化该存储库

这将创建一个没有Master分支的空存储库

  1. 创建完成后,打开存储库并复制URL(在当前版本中位于屏幕右侧)
  2. 回到Visual Studio
    • 确保在工具/选项/源代码控制/插件选择下选择了Microsoft Git Provider
  3. 打开团队资源管理器
  4. 选择首页| 未同步的提交
  5. 在黄色框中输入GitHub URL(使用HTTPS URL,而不是默认显示的SSH)。
  6. 点击发布
  7. 选择首页| 变化
  8. 添加提交评论
  9. 从下拉列表中选择提交并推送

您的解决方案现在在GitHub中


4
我想补充一点,当前不支持ssh,因此您必须使用https协议。如果已经使用了错误的网址,则可以使用git remote set-url origin https:// ...进行更改。
Michael Dietrich 2014年

1
谢谢,这对我有帮助。在github中检查initialize对我来说毁了它。
2014年

6
如果您碰巧已经开枪并使用自述文件创建了回购协议,则可以通过打开git shell(bash或ps)并从根目录中键入git remote rm origin来恢复。这将带回VS2013中的URL文本框,并允许您重新添加远程服务器。在VS中也许可以做到这一点,但我找不到。
鲍勃

4
当我单击发布时,它告诉我:You must commit changes to your local repository before you can publish.我该怎么办?如何将更改提交到本地存储库?
马克·克莱默

4
您单击主页| 变化。然后在黄色框中输入提交消息,然后单击提交。
Richard210363 2014年

82

有很多简便的方法可以执行此操作,甚至不需要您在Visual Studio之外执行任何操作。

  • 在Visual Studio中打开您的项目
  • 文件>添加到源代码管理
  • 打开Team Explorer,单击“ 主页”按钮,进行“ 同步 ” ,然后在其中找到“ 发布到GitHub ”。点击“ 入门
  • 输入存储库的标题和描述(可选)。
  • 点击“ 发布

就这样。Visual Studio github插件会自动为您创建存储库并配置了所有内容。现在,只需单击“ 主页”,然后选择“ 更改 ”选项卡,最后提交您的第一次提交。


17
不要被票数淹没。至少在VS2015中,此代码有效且简单得多。
dotNET 2013年

2
我找不到github的东西,所以我不得不使用它:visualstudio.github.com
1616年9

这就是我想要的。但是我的经验略有不同。当我点击时Add to source control,我被直接带到屏幕上,将第一次提交添加到似乎是自动创建的本地git存储库中,这正是我想要的。VS2015社区。
parker.sikand

3
我很确定此解决方案假定已安装VS2015的Github扩展。您可以像上面的评论一样在此处获得它:visualstudio.github.com
Greg

2
刚刚使用此方法将VS2017解决方案推送到本地Gogs存储库。
Peter M

12

这个问题已经由Richard210363正确回答。

但是,我想指出,还有另一种方法可以做到这一点,并警告说应避免使用这种替代方法,因为这会引起问题。

正如R0MANARMY在对原始问题的评论中所述,可以使用git命令行甚至Git Gui从现有解决方案文件夹中创建存储库。但是,执行此操作时,它将将该文件夹下的所有文件添加到存储库中,包括构建输出(bin / obj /文件夹),用户选项文件(.suo,.csproj.user)以及解决方案中可能存在的许多其他文件。文件夹,但不想将其包含在回购中。这样做的一个不希望有的副作用是,在本地构建后,构建输出将显示在“更改”列表中。

在Visual Studio中使用“选择文件|添加到源代码管理”进行添加时,它会智能地包括正确的项目和解决方案文件,而将其他文件和解决方案排除在外。它还会自动创建一个.gitignore文件,以帮助防止将来将这些不需要的文件添加到存储库中。

如果您已经创建了包含这些不需要的文件的存储库,然后在以后添加.gitignore文件,则这些不需要的文件仍将保留在存储库中,需要手动删除...删除它可能更容易回购并以正确的方式创建回购重新开始。


我使用了MaKiPL上面提出的方法。有效。而且它没有jjjjs所描述的缺点。我发现MaKiPL提出的方法比使用Git命令要容易得多。
格伦·加森(Glenn Garson)

6
  • 在Team Explorer菜单中,单击Git存储库部分下的“添加”(您需要将解决方案目录添加到Local Git存储库)
  • 从团队资源管理器中打开解决方案(右键单击添加的解决方案-打开)
  • 单击提交按钮,然后找到链接“ push”

Visual Studio现在应该询问您的GitHub凭据,然后继续上传您的解决方案。

由于我已将Windows帐户连接到Visual Studio以便与Team Foundation一起使用,所以我不知道它是否可以在没有帐户的情况下使用,因此Visual Studio会跟踪谁提交的内容,因此,如果您未登录,它可能会要求您先进行操作。


3
我的团队资源管理器中没有添加,也没有Git部分
Richard210363 2013年

4

好吧,我知道这个问题与Visual Studio GUI有关,但是问问者也可以尝试使用此技巧。在解决这个问题上只给出了不同的观点。

我喜欢将终端用于GIT,因此这是简单的步骤:

前提条件...

  • 如果是Linux或MAC,则应在计算机上安装git软件包
  • 如果是Windows,则可以尝试下载git bash软件

现在,

  1. 转到Github.com
  2. 在您的帐户中,创建一个新的存储库
  3. 不要在存储库内创建任何文件。保持空着。复制其网址。它应该类似于 https://github.com/Username/ProjectName.git

  4. 打开终端并重定向到您的Visual Studio Project目录

  5. 配置您的凭证

    git config --global user.name "your_git_username"
    git config --global user.email "your_git_email"
    
  6. 然后输入这些命令

    git init
    git add .
    git commit -m "First Migration Commit"
    git remote add origin paste_your_URL_here
    git push -u origin master
    

完成...希望这会有所帮助


在最后一行,这个git push -u origin master,它给出了错误,指出remote包含您在本地没有的工作(它是新创建的并且是空的)。然后,当试图再次拉。“没有当前分支的跟踪信息” Git是一个谜
Blue Clouds

链路提供上述命令的一些解释
天台母马

真的行。谢谢...:)
Littin Rajan

0

我的问题是,当我使用https作为远程URL时,它不起作用,所以我改用http。这使我可以立即从Team Explorer发布/与GitHub同步。


我希望我知道“无效”的含义,所以我对这是否与我遇到的问题有关有一个更好的了解。
user34660

0

没有一个答案是针对我的问题的,所以这就是我的解决方法。

这是针对Visual Studio 2015的,我已经在Github.com上建立了一个存储库

如果您已经拥有存储库URL,则将其复制,然后在Visual Studio中:

  • 转到团队资源管理器
  • 点击“同步”按钮
  • 它应该有3个带有“入门”链接的选项。
  • 我选择了“入门”链接,而不是“发布到远程存储库”,它是最下面的一个
  • 将出现一个黄色框,要求输入URL。只需将URL粘贴在那里,然后单击发布即可。

0

在VS2017中,单击的次数减少了,如果本地存储库位于Git克隆的前面,请从弹出的项目菜单中单击“源代码控制”: 这将弹出“团队资源管理器更改”对话框: 键入描述-这是“堆栈溢出”示例提交”。从提供的三个选项中进行选择,所有这些都在此处说明。

在此处输入图片说明


在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.