Fix the deployment script to properly force the remote server to always
match the git repository state, regardless of local changes.
Changes:
- Replace invalid `git pull --force` with proper fetch and reset
- Add `git remote set-url origin` to ensure correct URL with auth token
- Use `git fetch origin` to download latest changes
- Use `git reset --hard origin/master` to force match remote state
This ensures clean deployments even if there are local modifications or
conflicts on the remote server, while preserving untracked files like .env.