version control - DVCS and data loss? -
Text after "div class =" itemprop = "text">
After nearly two years of using DVCS, it seems that there is an underlying "fault" accidental data loss: I code Have lost that which is not pushing, and I also know other people who have it too.
I can see some reason for this: Off-site data is not created in duplication (i.e., "go to a remote host"), store code and "hack" until you release There is something to get "the notion of prevailing remains in the same directory ... but next to that point.
I'm curious to know: Have you experienced DVCS-related data loss? Or are you using DVCS without trouble? And, in relation to "remember to push often," related, what can be done to reduce the risk?
I have lost more data than preventing ungraded changes in a centralized VCS, and then I have to decide that I really want to do something to them that I did with DVCS. That's it that I have been using CVs for Git for almost a decade and a year, so I've got a lot more opportunity to get into trouble with the centralized model, but the workflow between Differences in the properties two models are also major contributing factors.
Interestingly, most of the causes of this boil are "to down" because it is easy to relinquish the data, I keep it more until I'm sure that I'm don Chances are 'do not want' (the only difference between abandoning the data and losing it is that you have to relinquish it.) The biggest contributing factor is probably a turning point in my workflow habits - my "work copy "When I have a DVCS sub I am often exposed to many different copies of many computers, so corruption or loss in a repo or loss on the computer that I am working on but also catastrophic data loss, is less likely to destroy the only copy of the data (Being able to do this, the model delivered to the central people has a big win - when everything becomes a permanent part of the repository, then the temporary changes To make a copy, psychological barrier is very high.)
As far as reducing the risk, it is possible to develop such habits that reduce them, but you have to develop those habits . There are two general principles:
- Unless there are different copies of data in different places, there are workflow habits that will give you many copies for free - f'rexample, if you two If you work in different places, you will have a reason to reach a common place at the end of each working session, even if it is not ready for publishing.
- Do not try to do anything beyond clever, stupid, or your comfort zone, create a temporary tag for the same context for which you may want to keep, at which you can return, or take action on To make a temporary branch can be. (With GIT's raffle you can retrieve old reference after this fact; I wonder if other DVCs have the same functionality, so manual tagging may not be necessary, but it is often more convenient.) < / Li>
Comments
Post a Comment