They are ignored because they are uploads. Not images that are part of your theme for example. Those are obviously fine to be included in the repo. Anything user generated should probably not be included.
It’s your .gitignore
so you can do whatever you want of course. If you want to include all those as part of your repo, then I’d suggest simplifying your .gitignore
to just remove the initial ignores. You are basically saying “ignore these folders” and then “don’t ignore them”. Just remove them altogether.
But I have no idea why they wouldn’t be getting deployed if they are part of the repo. You can always delete the /srv/www/<sitename>/repo
just in case to force a new git clone
on the deploy.