Clarifying the mess: The new support for Git in/with/using TFS may be confusing, so here are some explanation that may help you understand better the story. MS initially tried to develop a distributed version control (as opposed to TFS centralized version control) in order to cope with Git popularity. Then they dropped the project and decided to use Git. Git is now integrated into CodePlex and now in VS (TFS) 2012 it’s also available. But there are many tools for it
Git tf – this is a command line tool that enables you to migrate code from Git to TFS and vice versa. Like when some of your repositories are GIT and others are TFS
Visual Studio Tools for Git – a Git client that enables you to connect to any Git (local, remote, under TFS, under GitHub…)
Git Command line – since the tools don’t provide all the available commands via GUI, you still need to use command line to accomplish some of the tasks.
Native Git support within TFS server (on premise) – not now, maybe in the future
As for myself, I still use “Git Extensions” and now trying to get used to using also “Visual Studio Tools for Git”. The main benefit is that you can create a local repo of Git without using any third party. Just start developing commit and branch as you like. The integration into VS is quite nice.