Updates were rejected because the remote contains work that you do not have locally. This is usually caused by another repository pushing to the same ref. You may want to first integrate the remote changes (e.g., 'git pull ...') before pushing again.
Yes, I know but that's the point of pushing. I have deleted some files on local branch and need them to be deleted on the remote as well. What's the best way to do so?