Hi Thai -
At it's heart, a Tableau workbook is just an XML file. And like any file on a file system, it can be overwritten.
I'd recommend you use the source control product of your choice to manage the workbooks, checking them in and out, like you would any other source code.
We manage this with Subversion, it keeps control simple compared to the likes of git for most users. TortoiseSVN allows non-techs to comfortably manage checkin/out, updates, etc. Generally it just gives everyone a sense of security that anything that gets broken can be reverted.
We have the whole tableau repo under source control (ignoring Logs), that way custom Perferences, Shapes, Mapsources, etc can be centrally managed. It's also a lifesaver for workbook management - with proper diffing and change control via branching.
The big benefit from all this is we can have everything checked out to the local machine which is a lot faster than our network and allows for offline work. We now also have extracts under control (despite being binary) because we were having all kinds of issues with updates. It's still not that awesome in that department: if an extract is used by two datasources and you change one source (add calc, remove a field, etc) that extract gets out of sync with the other datasource. Source control alleviates that but it's an issue regardless.
And, some methodology for managing DataServer connection definition can be built into this. Something we're looking at now. I think it'll end up being a set of workbooks with just a DataSource and nothing else.