Currently in our team each developer doing check-in on daily basis towards one development tasks. If there are any errors during release, we would like to revert back those check-in's which are made towards that development tasks. Since this is multiple check-ins, it's highly difficult to revert back those changes because, in b\w some other check-ins might have done by other developer. Hence, we would like to do single check-intowards each development tasks and it would help us to revert back that single check-in if there are any issue\error during release. We are foreseeing below blockages if we asked our team members to do check-in at end of the development. 1) Data loss - Let's assume developer take 10 days for his assigned development tasks. If there are any crash in his development machine in mid of the development data loss will be the huge impact. How to avoid the data loss and at the same time how to do single check-in though it has been developed "n" number of days?