Cheers +Weston Price
I'm not commiting anything on the remote repository.
The reason I explained making changes via ftp was not because I want to do so, but because the person who initially built the site in question uses ftp to upload changes and doesn't use git, so if he changes files in the server I won't know, unless I download whichever files I wish to modify via ftp and then compare them to my local repository.
This process doesn't seem ideal, I just wasn't sure if git had any clever features that could scan the live files and flag up those that have changed, obviously not based on my findings and what you have mentioned.
I'm commiting changes to my local repository. Then using GitHub for Mac to sync with the remote repository. The remote is then updating the live files on the server via a post receive hook.
I followed this tutorial to make it work: http://www.adamboother.com/blog/install-git-on-a-godaddy-shared-hosting-account/
I am not familiar with staging.