The gitolite@ on the front of the URL is not actually the user as you use with SSH. It is the service (I assume) on the server so gitolite@localhost:my-repo is completely valid.
You will see a reference to git@ all the time when working with GIT. Your service is gitolite so gitolite@ will always be used.
Git servers authenticate using SSH public keys so the key you created is what allows the user to connect to the server. That key is also related to that user so when that key is used it is assumed that is the user issuing git commands such as a commit.
On a side note a colleague recommend http://documentup.com/skwp/git-workflows-book when I first started using our GIT system and it was a great help in understanding this truly wonderful version control system.