I tried to get a file's history using sourcetree, but to no avail.
Searching on google gives negatives.

So I can't see how a single file has evolved through history using git (without checking out/cloning out the whole project at commit points?)

This is an existing feature in svn, and I'd be surprised if there's no way to do it in git.
Basically you could do it with something like this:
git log --follow -p filename
However this will generally assume you have the whole history and all the metadata available locally; in other words you'd have to clone the repo. (Checking out something over the network really goes against the distributed philosophy).

I don't know how to do it the way you're asking. The closest thing I can find is to go on Github, click on a file then on the "history" tab. Assuming your project has a fork on github.
Perfect rahmu. Thanks alot.

I wasn't suggesting I wanted to check it over the network. My wording could have confused.
I meant my current best bet was to checkout the single file throughout the "checkpoints" that I already have.
SourceTree doesn't interface with this particular command with all these arguments.
Everything (or almost everything) dealing with consulting the history of your project can be found under some git log option. I strongly recommend you read the builtin documentation. I don't mean to read it like a book. Just keep in mind that consulting it should be your first option, even before Google.

The builtin documentation is git help. If you have a more specific idea for where to look you can use git log help (or git help log; I don't really remember). This also raises another issue. I don't know Sourcetree and how it behaves, but I have no problem suggesting you ditch it. Git was made to be used from the command line. Period. The only thing you'd be really missing out on would be some pretty representation of your branches and commits with colors and animations (Wow! Fade out!).

Unless you're dealing with merging dozens of branches daily (which probably won't happen much), you don't need this. You don't want to have to deal with Source Control. It should be seamless. It should be fast and efficient. It should be command line.

My 2c.
There's also git blame, which is nice to quickly see when each line was last changed (and who did it). Especially useful if you have support for it built in to your editor and can run it quickly on whatever file you're working on.
12 days later
Check out: https://github.com/tpope/vim-fugitive
Really nice plugin if you use vim :)

So you might wana try:
:GBlame
and..
:GLog
Cheers :)
(without checking out/cloning out the whole project at commit points?)
You can't do partial checking in git like in svn :/
If you own the project, try submodules. They might solve it.