My recent job change brought with it many new systems, processes, and technologies changes… including changing from Team Foundation Server (TFS) as a Version Control System (VCS), to using GIT for version control. GIT is, as advertised, a distributed revision control system that was created for speed, data integrity and to support distributed or non-linear workflows.
As a VCS it is similar… but terminology, commands and user interface is quite different. In Visual Studio I no longer connect to a TFS server but instead a GIT server. The GIT server could be hosted internally to the company or it can be hosed externally by a service provider. We use Visual Studio Online (VSO) and host our source code, Agile / SCRUM Features, PBI’s, Tasks, etc… can all be accessed via VS or the web browser UI. With all this hosted with VSO, working from home becomes much easier… no need for VPN connection to access your sprint board, tasks, source code etc. Code reviews are also done online through the browser remotely with other developers through what GIT calls a PULL request. Reviewers can comment on concerns or issues with the source code changes and the developer can make and publish additional changes for the reviewer to sign off on.
Choosing the right version control for your project
Here is a comparison of GIT commands to TFS commands.
|TFS Version Control||GIT|
|Workspace||Repository (aka “Repo”|
|Get Latest (First Time)||Clone|
|Get Latest (After first time)||Pull|
|Check In||Commit + Push|
|Check Out||(just start typing)|
|Code Review||Pull Request|