Best practice is packing all your customizations into a custom app, upload it to a git repository and then installing it with regular procedure on your production server.
Data could be managed with import/export methods …
Anyway, if you want to move all your data … why not backup/restore?