This will upload the new files using SSH from the current directory and synchronize with the remote directory public_html on HOST, pushing only the new or changed files.

rsync -rvC --rsh="ssh -l SSH_USERNAME" * HOST:public_html/

mmmm, tasty rsync. my new best friend. even better than scp, I think.

From man rsync:

-C, –cvs-exclude

This is a useful shorthand for excluding a broad range of files that you often don’t want to transfer between systems. It uses the same algorithm that CVS uses to determine if a file should be ignored.