Publish local Git repository to Team Foundation Se

2019-01-22 03:31发布

About a week ago Git support was added to Visual Studio 2012 and Team Foundation Service. I've been playing around with it a bit and wanted to publish a local repository to my team project. It's described in step 2 on the Team Foundation Service website:

  • Publish your local Git repository into your new team project.

enter image description here enter image description here

Now I've been doing the exact same thing, but I don't get the "Publish to ..." context item. Could this be a bug or am I missing something?

enter image description here

12条回答
姐就是有狂的资本
2楼-- · 2019-01-22 03:37

I can confirm other answers, that the GIT repo cannot have any remotes listed or VS13 won't add it to the team project. I was using Atlassian tools Stash / Bitbucket / SourceTree and as soon as I closed VS13, removed all the remotes, reopenened VS13, opened the team project, and right clicked on my local GIT repo. The option "Publish to {teamProject}" was available and the .sln was then available by opening the team project.

查看更多
啃猪蹄的小仙女
3楼-- · 2019-01-22 03:42

I had the same issue. I had to delete all of my remotes in .git/config (not just origin) before the Publish option is available. Apparently, Microsoft assumes you would never even dream of using a different remote.

查看更多
别忘想泡老子
4楼-- · 2019-01-22 03:43

For submitting an existing local repository to TFS-Git:

  • Create new project in TFS.
  • Using Git Extensions, select the local repository that you want to push to your new project in TFS.
  • Select the push arrow.
  • Select Manage remotes.
  • In URL, enter the location of your TFS project: https://[your site name].visualstudio.com/DefaultCollection/_git/[Your project name]
  • Save. Do you want to automatically configure push and pull? (I said yes.)
  • Close.
  • Select dropdown box for Remote - select the Remote URL you just saved.
  • Push.

While setting up my account at TFS, I did set up an alternate credentials, though I am not sure if they were needed for this process.

I am new to GIT and TFS, but this process allowed my to push two of my solutions, each with three projects into TFS. Also, within Git Extensions, I found that I could organize my local repositories into categories, which proved a convenient way to organize my projects into their solutions. I would like to do the same in TFS, too.

查看更多
我欲成王,谁敢阻挡
5楼-- · 2019-01-22 03:45

I had the same problem today, I was not understanding why this "Publish to..." menu didn't appear. I found that it's because you have to map one online repository to a local one, no more.

In your example, it seems Gittyup online is already mapped to Gittyup local, so you have to create a new Git project in the web interface, then you connect to it in VS, and then you can publish your local repository to the online one.

查看更多
老娘就宠你
6楼-- · 2019-01-22 03:48

I was having the same problem. I don't know why.

However, after a bit of playing around, I managed to get the following working. Disclaimer: can't guarantee this is actually the correct way to do it. It may bork things further. And whether it does the same as what the missing 'Publish' menu item is supposed to do, I have no idea. Use at your discretion...

  • Get the url of your git repo in the project you set up in TFS.
  • Edit the .git/config file on your local repo.
    • Configure the origin remote to point to your TFS repo.
    • (note: if you already had an origin remote, you might want to rename that first to keep it)

e.g.

[remote "origin"]
    url = https://user.visualstudio.com/DefaultCollection/_git/YourRepo
    fetch = +refs/heads/*:refs/remotes/origin/*
  • Open your solution in Visual Studio.
  • Edit a file.
  • Do a commit.
  • Do a push.

This should hopefully push your local repo to your TFS remote as origin.

From here things seem to be working for me -- the code is up in my TFS web interface at least, and I can push commits to it. I can add backlog items etc. I'm new to TFS though so not sure if it's actually all working as it should be.

查看更多
手持菜刀,她持情操
7楼-- · 2019-01-22 03:49

Create the project in VSTS/GitHub/somewhere, then from Git Bash...

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

查看更多
登录 后发表回答