20

大约一周前,Visual Studio 2012 和 Team Foundation Service 添加了 Git 支持。我一直在玩它,想将本地存储库发布到我的团队项目中。Team Foundation Service网站上的步骤 2 中对此进行了描述:

  • 将本地 Git 存储库发布到新的团队项目中。

在此处输入图像描述 在此处输入图像描述

现在我一直在做同样的事情,但我没有得到“发布到...”上下文项。这可能是一个错误还是我错过了什么?

在此处输入图像描述

4

12 回答 12

12

我遇到了同样的问题。我不知道为什么。

但是,经过一番玩耍后,我设法使以下工作正常进行。免责声明:不能保证这实际上是正确的方法。它可能会使事情变得更糟。而且它是否与缺少的“发布”菜单项应该做的一样,我不知道。酌情使用...

  • 在您在 TFS 中设置的项目中获取您的 git 存储库的 url。
  • 编辑本地仓库中的 .git/config 文件。
    • 将源远程配置为指向您的 TFS 存储库。
    • (注意:如果您已经有一个原始遥控器,您可能需要先重命名它以保留它)

例如

[remote "origin"]
    url = https://user.visualstudio.com/DefaultCollection/_git/YourRepo
    fetch = +refs/heads/*:refs/remotes/origin/*
  • 在 Visual Studio 中打开您的解决方案。
  • 编辑文件。
  • 做一个提交。
  • 做一个推。

这应该有望将您的本地存储库作为源推送到您的 TFS 远程。

从这里开始,事情似乎对我有用——代码至少在我的 TFS Web 界面中,我可以向它推送提交。我可以添加积压项目等。我是 TFS 的新手,但不确定它是否真的按应有的方式工作。

于 2013-02-06T23:26:48.180 回答
6

我只是遇到了同样的问题,ngm的答案没有用;我不得不做相反的事情。[remote "origin"] 部分已经在我的 .git/config 文件中,但是项目代码没有上传到 TFS。

为了修复它,我只是从配置文件中删除了该部分,然后重新启动 Visual Studio 并按照官方说明进行操作。

于 2013-05-06T08:44:07.510 回答
3

我有同样的问题。我能够通过完全重新启动 Visual Studio、打开团队资源管理器然后导航到我的本地存储库来解决它。我打开了我的本地 .sln,然后单击“更改”、“提交”,然后它就有了一个可以将项目发布到 URL 的区域。我使用该 URL,例如:https ://myapps.visualstudio.com/DefaultCollection/_git/MySolution然后单击“发布”(我必须这样做两次。)我现在可以提交到 TFS 并在线查看我的代码。

于 2013-07-16T07:21:52.303 回答
2

我遇到过同样的问题。在 Publish 选项可用之前,我必须删除 .git/config 中的所有遥控器(不仅仅是 origin)。显然,微软认为你永远不会梦想使用不同的遥控器。

于 2013-11-11T14:27:39.703 回答
1

我发现它有助于开始一个新的解决方案并从那里逐步发布。

一旦它本身“困惑”,最好重新开始这个过程。我让它工作,从来没有编辑过那个文件。

于 2013-06-17T18:44:10.057 回答
1

我尝试了以上所有方法,但我可以让它工作的唯一方法是使用 git hub for windows。

要完成这项工作,您需要设置备用凭据。https://tfs.visualstudio.com/en-us/home/news/2012/aug-27/

于 2013-07-23T08:44:45.187 回答
1

将现有的本地存储库提交到 TFS-Git:

  • 在 TFS 中创建新项目。
  • 使用 Git 扩展,选择要推送到 TFS 中的新项目的本地存储库。
  • 选择推动箭头。
  • 选择管理遥控器。
  • 在 URL 中,输入 TFS 项目的位置:https://[您的站点名称].visualstudio.com/DefaultCollection/_git/[您的项目名称]
  • 节省。是否要自动配置推送和拉取?(我说是。)
  • 关闭。
  • 选择远程下拉框 - 选择您刚刚保存的远程 URL。
  • 推。

在 TFS 设置我的帐户时,我确实设置了备用凭据,但我不确定此过程是否需要它们。

我是 GIT 和 TFS 的新手,但这个过程允许我将两个解决方案推送到 TFS 中,每个解决方案都有三个项目。此外,在 Git Extensions 中,我发现我可以将本地存储库组织到类别中,这证明了一种将我的项目组织到他们的解决方案中的便捷方式。我也想在 TFS 中做同样的事情。

于 2013-07-26T17:05:39.713 回答
1

我今天遇到了同样的问题,我不明白为什么这个“发布到...”菜单没有出现。我发现这是因为您必须将一个在线存储库映射到本地存储库,仅此而已。

在您的示例中,Gittyup online 似乎已经映射到本地 Gittyup,因此您必须在 Web 界面中创建一个新的 Git 项目,然后在 VS 中连接到它,然后您可以将本地存储库发布到在线存储库。

于 2013-12-18T04:07:14.387 回答
1

在 Team Explorer 窗口中,在 Local Git Repositories 下找到您的存储库。右键单击要更改的选项并选择打开命令提示符。现在输入git remote -v,它应该会显示远程名称和完整的 url。类型git remote remove origin假设 origin 是您的远程存储库的名称。然后git remote add origin [url]将 [url] 替换为存储库的实际 url。

现在您应该能够将您的主分支推送到您的团队项目的存储库中。

于 2014-11-12T17:08:24.017 回答
1

我可以确认其他答案,即 GIT 存储库不能列出任何遥控器,否则 VS13 不会将其添加到团队项目中。我正在使用 Atlassian 工具 Stash / Bitbucket / SourceTree,一旦我关闭 VS13,删除所有遥控器,重新打开 VS13,打开团队项目,然后右键单击我的本地 GIT 存储库。“发布到 {teamProject}”选项可用,然后通过打开团队项目可以使用 .sln。

于 2015-01-16T15:03:49.960 回答
0

同样的问题,除了编辑 git 配置文件,只需删除项目的整个 git 存储库文件夹即可。重新加载项目并从文件下的源代码操作重新开始。然后将项目的所有更改添加到本地 Git。然后“同步”,它将显示 url 文本框。

于 2015-06-10T22:18:00.877 回答
0

在 VSTS/GitHub/somewhere 中创建项目,然后从 Git Bash...

git remote add origin https://xxx.somewhere.com/_git/xxxProjectNamexxx
git push -u origin --all

于 2017-02-11T04:14:36.290 回答