Here is the interesting facts about the two version controls systems.
The way they manages files system changes
The way they do merge between branches
In TFS it is direct merge between the branches(the files between the branches) on the server, however in GIT it is bit different.
The way they both does check-in to source control
In TFS you check out a file on the central server, modify on local machine and then check-in. If any conflict occurs while you check-in, you fix it and then do the checkin
The way they both structure the content in the source control. Repository vs collection/Team project
In TFS, we have everything inside the collection\Team-Project. we have capability to merge the code between the folder in the team project.
In git everything is kept inside a repository, which is nothing but the atomic unit that can’t be split further. It has its own branches. We can’t merge code between the repositories.
The way they revert the changes in source control. Reset vs Revert
In TFS we have the rollback the changeset from TFS and it will create a new changeset in source control. In Git we have similar feature however with some additional capabilities.
The way they handle renaming of the files in the source control system.
In TFS we rename the file in the local machine and check-in to source control. In git it is handled bit differently.
The way they propose branching strategy