These are reasons I tend to go with solutions that give no luxuries like drives to have data stored on to loose. I have been using Heroku, as one example, for several years. Every time I make a change to the source code and push that change to my application, whatever server my app is living on gets wiped out and the source is fresh from git. In fact every time I restart the app or scale up another server, this same thing happens. Everything that needs to be persisted is stored in s3 or in a database. I like to think of it as another separation of concerns. Nothing but code, which is redundant in git, is stored on the server. Environment variables get dynamically loaded each time the server starts for any configuration settings.