Για λειτουργικό βάλε αυτό που ξέρεις καλύτερα.

Για το 3 που ρωτάς κατάλαβα ότι θες να τα στήσεις όλα σε ένα VM σπίτι σου το οποίο μετά θα μεταφέρεις στον server, σωστά; Αυτό το κάνω με KVM και γίνεται εύκολα. Μεταφέρεις το image στον server, μεταφέρεις και το definition του VM (XML αρχείο), αλλάζεις paths και δικτυακά αν χρειάζεται και έτοιμος. Μετά θα μπορείς να παίρνεις εύκολα snapshots του VM και rsync θα κάνεις όλο το image (αν δεν έχεις θέμα χώρου φυσικά).

Για git έχω να ακούσω κάτι από το '14 και για το τότε θέμα του νομίζω έπρεπε να έχεις πρόσβαση στο repository για να το εκμεταλλευτείς. Κατά τα άλλα είναι τόσο ασφαλές όσο το ssh αν το ρυθμίσεις σωστά.