Gitflow and GitVersion to the rescue
Recently we made the transition to using Git in TFS. Although being common ground to most open source developers it is still somewhat unknown to die hard Microsoft developers. Most of us have seen it all, visual source safe, svn, perforce, you name it. And now Git. All these commands can get pretty confusing. Should i use a Pull now or a Push or just a Sync. Am i committing to my local branch or the remote? On what branch am i anyway?
Alright at least visual studio has good integration. Well not all the way though, try committing a label...
All these branches being local or remote and the actions involved like push, pull etc. don't make live much easier for day to day development. Another issue is release management, how do my changes end up in my final release.
Luckily someone smarter than me figured out a way to handle this in a developer friendly manner. It's called GitFlow and defines a simple way to handle both committing new features while developing and creating new releases. Best of all there is a plugin for visual studio that integrates with tfs.
Another valuable TFS extension is GitVersion. This little gem uses your branch history to create a semantic version for your and works well with GitFlow.
Make your life easier and check them out...
p.s. Google is your friend, but don't hesitate to contact me for questions :).