将本地Git存储库发布到Team Foundation Service

时间:2013-02-05 16:08:01

标签: visual-studio git tfs azure-devops

大约一周前,Git支持已添加到Visual Studio 2012和Team Foundation Service。我一直在玩它并希望将一个本地存储库发布到我的团队项目中。它在Team Foundation Service website的第2步中描述:

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

enter image description here enter image description here

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

enter image description here

12 个答案:

答案 0 :(得分:12)

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

然而,经过一段时间的游戏后,我设法得到了以下内容 工作。免责声明:不能保证这实际上是正确的方法 去做吧。它可能会进一步惹恼。而且它是否与缺少的“发布”菜单项应该做的相同,我不知道。请自行决定使用......

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

e.g。

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

这应该有希望将您的本地仓库作为原产地推送到您的TFS遥控器。

从这里起,似乎对我有用 - 代码在我的TFS中 至少是web界面,我可以推送它。我可以添加积压项目等。我是TFS的新手,但不确定它是否真的全部正常工作。

答案 1 :(得分:6)

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

要解决此问题,我只是从配置文件中删除了该部分,然后重新启动了Visual Studio并跟随official instructions

答案 2 :(得分:3)

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

答案 3 :(得分:2)

我有同样的问题。在发布选项可用之前,我必须删除.git / config中的所有遥控器(不仅仅是原点)。显然,微软假设你甚至不会梦想使用不同的遥控器。

答案 4 :(得分:1)

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

一旦它“混乱”了,最好开始这个过程。我得到了它的工作,从来没有编辑过该文件。

答案 5 :(得分:1)

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

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

答案 6 :(得分:1)

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

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

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

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

答案 7 :(得分:1)

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

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

答案 8 :(得分:1)

在“团队资源管理器”窗口中,在“本地Git存储库”下找到您的存储库。右键单击要更改的那个,然后选择“打开命令提示符”。 现在输入git remote -v,它应该显示远程名称和完整的URL。 类型git remote remove origin,假设origin是远程存储库的名称。然后git remote add origin [url]将[url]替换为您的存储库的实际网址。

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

答案 9 :(得分:1)

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

答案 10 :(得分:0)

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

答案 11 :(得分:0)

在VSTS / GitHub /某处创建项目,然后从Git Bash创建......

  

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