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

214

我查阅了许多关于VS 2013中新的Git集成的网页,但它们都没有涉及如何将现有解决方案添加到Github。事实上,我在使用GitHub而不是Visual Studio Online方面找不到太多信息。

有人能告诉我如何使用VS 2013中的工具从现有解决方案开始并将其添加到Github吗?


为什么不直接从命令行执行呢?只需要大约5个命令*(创建repo、将项目添加到repo[2个命令]、添加远程地址、推送到远程)*就可以了。所有这些命令都有很好的文档记录。 - Roman
3
在GitHub上添加它以供VS使用,将在GitHub页面上添加“使用Visual Studio打开”按钮。虽然微小但很有用 :) - Ateik
9个回答

354

好的,这对我很有用。

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

这将创建一个本地GIT存储库

  1. 浏览到GitHub
  2. 创建一个新的存储库,不要选择“使用README初始化此存储库”

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

  1. 创建后打开存储库并复制URL(当前版本右侧屏幕上有)
  2. 返回Visual Studio
    • 确保在工具/选项/源代码控制/插件选择下选择了Microsoft Git提供程序
  3. 打开团队资源管理器
  4. 选择主页|未同步提交
  5. 将GitHub URL输入黄框中(使用HTTPS URL,而不是默认显示的SSH URL)
  6. 单击发布
  7. 选择主页|更改
  8. 添加提交注释
  9. 从下拉列表中选择提交和推送

您的解决方案现在已在GitHub中


5
我要补充一点,目前不支持ssh,所以您必须使用https协议。如果已经使用了错误的url地址,您可以使用_git remote set-url origin https://..._来进行更改。 - Michael Dietrich
2
谢谢,这对我很有帮助。在 GitHub 中检查初始化正在破坏它。 - josha76
7
如果你不慎在创建自述文件的情况下就已经创建了存储库,你可以通过打开 Git Shell(Bash 或 PowerShell),并从根目录输入 git remote rm origin 来进行修复。这将在 VS2013 中恢复 URL 文本框,并允许重新添加远程服务器。可能有一种方法可以在 VS 中完成此操作,但我找不到它。 - bob
5
我点击“发布”时出现提示:“在发布之前,您必须提交本地存储库的更改。” 我该怎么办?如何提交本地存储库中的更改? - Mark Kramer
5
您需要点击主页 | 更改。然后在黄色框中输入提交信息,最后单击“提交”按钮。 - Richard210363
显示剩余7条评论

91

有一个更简单的方法可以完成这个任务,而且不需要你在 Visual Studio 之外进行任何操作。

  • 在 Visual Studio 中打开您的项目
  • 文件 > 添加到源代码控制
  • 打开 Team Explorer,点击 主页 按钮,进入 "同步" 界面,然后您会看到 "发布到 GitHub"。点击 "开始"
  • 输入您的仓库标题和描述(可选)。
  • 点击 "发布"

就这样。Visual Studio 的 GitHub 插件会自动为您创建仓库并配置所有内容。现在只需点击 主页,选择 "更改" 标签,最后提交您的第一个提交即可。


20
不要被投票数所压倒。这个方法可行且更简单,至少在VS2015中是这样的。 - dotNET
3
我找不到Github的东西,所以我不得不使用这个:https://visualstudio.github.com/。 - ʍѳђઽ૯ท
3
我很确定这个解决方案假设已安装了VS2015的Github扩展。你可以像上面的评论所描述的那样在这里获取它:visualstudio.github.com - Greg
2
刚刚使用这种方法将一个VS2017解决方案推送到本地的Gogs存储库。 - Peter M
@Greg,这是不是我们从“工具”| “扩展和更新...”中在VS中得到的东西? - Sam Hobbs
显示剩余5条评论

14

这个问题已经被Richard210363精确回答了。

然而,我想指出另一种方法来解决这个问题,并警告说这种备选方法应该避免,因为它会引起问题。

正如R0MANARMY在原问题的评论中所述,可以使用git命令行或甚至Git Gui从现有解决方案文件夹创建一个仓库。然而,这样做会将该文件夹下的所有文件都添加到仓库中,包括构建输出(bin / obj / 文件夹),用户选项文件(.suo,.csproj.user)和可能存在于解决方案文件夹中但您不想包含在仓库中的其他文件。其中一个不需要的副作用是,在本地构建后,构建输出将显示在“更改”列表中。

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

如果您已经创建了一个包含这些不需要的文件的仓库,然后稍后添加.gitignore文件,这些不需要的文件仍将保留在仓库中,需要手动删除...最好通过正确的方式创建仓库,删除仓库并重新开始。


我使用了MaKiPL上面提出的方法。它起作用了,并且没有jjjjs所描述的缺点。我发现MaKiPL提出的方法比使用Git命令容易得多。 - glenn garson

7
  • 从团队资源管理器菜单中,在 Git 仓库部分下点击“添加”(需要将解决方案目录添加到本地 Git 仓库)
  • 从 Team Explorer 中打开解决方案(右键单击添加的解决方案 - 打开)
  • 点击提交按钮,查找“推送”链接

Visual Studio 现在应该会要求输入您的 GitHub 凭据,然后继续上传解决方案。

由于我的 Windows 账户已连接到 Visual Studio 以与 Team Foundation 配合使用,我不知道是否可以在没有账户的情况下工作。Visual Studio 将跟踪提交记录,因此如果未登录,则可能会要求您先登录。


3
我的团队资源管理器中没有“添加”和“Git”选项。 - Richard210363

5

我知道这个问题与Visual Studio的GUI相关,但是也许提问者可以尝试这个技巧。在解决这个问题时给出不同的视角。

我经常使用终端进行GIT操作,以下是简单的步骤:

先决条件...

  • 如果是Linux或MAC系统,您应该已经安装了git软件包
  • 如果是Windows系统,则可以尝试下载git bash软件

现在,

  1. Goto Github.com
  2. In your account, create a New Repository
  3. Don't create any file inside the repository. Keep it empty. Copy its URL. It should be something like https://github.com/Username/ProjectName.git

  4. Open up the terminal and redirect to your Visual Studio Project directory

  5. Configure your credentials

    git config --global user.name "your_git_username"
    git config --global user.email "your_git_email"
    
  6. Then type these commands

    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,它报错说远程包含了你本地没有的工作(它是新创建的并且是空的)。然后再次尝试拉取时,“当前分支没有跟踪信息”。Git 是一个谜。 - Blue Clouds
此链接提供了上述命令的一些解释。 - Tendai Mare

1
我的问题是,当我使用https作为远程URL时,它不起作用,因此我改用http。这使我能够立即从Team Explorer发布/同步到GitHub。

我希望我知道“不起作用”是什么意思,这样我就能更好地了解它是否与我遇到的问题相关。 - Sam Hobbs

0

在VS2017中,点击弹出的项目菜单中的源代码控制,就可以少点击几次了。如果本地仓库超前于Git克隆,则点击源代码控制:

enter image description here
这将打开团队资源管理器更改对话框:

enter image description here
输入描述-这里是“Stack Overflow Example Commit”。从三个选项中选择一个,所有选项都在此处解释。


0

以下是我在使用Visual Studio 2019时成功的方法:

  1. 进入“团队资源管理器”,点击“打开”,选择你想要添加到Git的解决方案。 输入代码

  2. 完成上一步后,在右下角会出现一个“添加到源代码控制”的选项,点击它,你将得到一个选项,可以将其发布到你想要的仓库,如Azure DevOps或Git。 输入图像描述

  3. 最后一步

    输入图像描述


0

没有一个答案是特定于我的问题的,所以这就是我是如何做到的。

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

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接