Migrating from On Premisis Source Control to Cloud

2019-09-21 10:00发布

I have a Visual Studio 2017 project which is under source control in an on premises TFS server. I would now like to move this to Azure DevOps environment. I know I can simply copy all the code except the git files and folder to a new location and add to Source Control from scratch. But with this solution all the history is lost.

Azure DevOps does has a feature to import project from another source control project but as my current TFS server is on premises it is not exposed to the outside world so this is not an option for me.

So my question is: Is it possible to detach from one repository and add to a new one?

1条回答
放我归山
2楼-- · 2019-09-21 10:59

To move all your branches and history from 1 repository to another:

  1. Create an empty repository in your Azure DevOps project
  2. Clone your current repository (from TFS) using git clone --mirror $URL
  3. Add a new remote pointing to your Azure DevOps repository
  4. Push to the new remote

How the current man-page explains --mirror:

Compared to --bare, --mirror not only maps local branches of the source to local branches of the target, it maps all refs (including remote-tracking branches, notes etc.) and sets up a refspec configuration such that all these refs are overwritten by a git remote update in the target repository.

查看更多
登录 后发表回答