I have been working with websites for a while and also with different web hosts. The default way to upload content is through FTP but it takes a lot of time because upload the entire site each time. Some web hosts have ssh and git, which is great for deployement because you can keep track of the versions and also upload only the files that changes.
alias git-ftp="python ~/git-ftp/git-ftp.py "
python ~/git-ftp/git-ftp.pywhere is your git repository that you want to upload. I will prompt all the ftp details and also will create the config file for you.
.DS_Store # Ignore configuration files that may contain sensitive information. sites//settings.php # Ignore paths that contain user-generated content. sites//files sites/*/private