Over a million developers have joined DZone.
Silver Partner

Moving a TFS Git Repository to Github

· Agile Zone

The Agile Zone is brought to you in partnership with QASymphony.  Get insights into top trends including Agile is headed, testing methodologies and more! Register Now.

We gave using the git support in TFS the old college try but the friction and issues were just too much so we decided to move our repository over to github.  I am not going to go over our issues w/ TFS git here, but I am thinking of creating a separate post for it.

Because we already had our repository w/ change history setup all we really wanted to do was ‘change remote origin’ for our repository and here are the steps WE took to accomplish this.

Our Steps (it is assume you already have a github account setup)

  1. Go to github.com and create your repository.

  2. Create a copy of your existing tfs/git source and move it to a new directly.  I do this simply to ensure I don’t screw anything up and have to do a new pull (i am lazy and xcopy is faster). 
    1. from c:\TFSRepo –> c:\GithubRepo

  3. Open a git command prompt and CD into the destination directory from step 1

  4. From the command prompt run ‘git remote –v’  this command is a sanity check to double check the current origin of your repository

  5. From the command prompt run ‘git remote rm origin’ this command will remove/clear the origin settings for your reporsitory

  6. From the command prompt run ‘git remote add origin http://github.com/[accountusername]/[reponame].git' this command will set the origin information to your new repository path in github.  Pay attention to the url’s casing as github is case sensitive and you may experience issues if the casing is off.  PS. You can get the url above from the github repository page

  7. From the command prompt run ‘git push origin master’ this command will push your current files up to github and publish them.  Please note that this will ONLY push the master branch.  If you want to push other branches you will need to do a ‘git push origin [branchnamehere]’ for each branch.

  8. Refresh the github.com project page and rejoice in the fact that you are out of TFS and your pain should be greatly reduced :)

These are the steps that worked for us, of course they may be different or better ways, but again these worked for us.

Till next time,

The Agile Zone is brought to you in partnership with QASymphony.  Get insights into top trends including Agile is headed, testing methodologies and more! Register Now.


Published at DZone with permission of Derik Whittaker , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}