If I have a \"vendors\" directory in my .gitignore, is there a way I can set up a remote that will receive that directory anyway when I do a push?
I think the functionality you're looking for can be achieved by having a branch used to deploy to your Cloud Provider.
Setup a dev branch which includes your .gitignore file, check your incremental work into that branch.
Merge your dev branch into your deploy branch which doesn't contain a .gitignore file but contains the vendors directory.
once you've completed your merge, push to the deployment remote from your deploy branch.