Question: Forking on Github or Bitcket creates a repo's copy under your own account. 

Does this mean that forking is a server-side action? I was unable to find "fork command" inside Git.

If it's not a server-side action, what are the steps to fork a local Git repository with full history and tags?

Answer: 
*Forking* is not a technical operation but a process which happens in software development:

> 
> [...] a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software.
> 
> 
> 

*source: <http://en.wikipedia.org/wiki/Fork_%28software_development%29>*

Therefore, strictly speaking there isn't the notion of *forking* in git. That said, in order to fork a project that's in a Git repository, you have to `git-clone` it.
There is a great summary of forking on [GitHub](https://help.github.com/articles/fork-a-repo/), but essentially you are creating a copy of their repo so you can make your own changes to it without affecting the source repo. 

This means you can build upon what someone else has done but alter it to your own ends.