I'm totally new to 'Distribution version control system'(DVCS) and 'Centralized version control system'(CVCS). Somehow I understood the difference between them. Presently, in my office we are using CVS repository which is very old and I'm asked to upgrade to any new version. I don't know other than backing up CVS repos(/usr/local/cvsroot directory) and creating cvs users and I'll do this from webmin tool. The developers connect to cvs repositories and share their projects using Eclipse application.
I reviewed SVN which has some advantages and disadvantages over CVS. I would like to choose CVCS instead DVCS repository so that I'll have the repository in one place(because I'm thinking it's easy for me to backup repositories). SVN is CVCS based but I'm looking for something advanced which has only advantages over cvs not the limitations.
I heard GIT is best of all and is DVCS based repo. Finally I would like to use git but have no knowledge of it that how it works. My problem with this is it's DVCS which I didn't understand properly. Because it is said DVCS has no centralized repository and each user will have their own set of repositories on their local machine which could be shared among other users but isn't there any option to save all the users repos to a server which eases to backup centrally?. Eclipse is strictly used in my office and I'm thinking if it's possible to connect to git with eclipse(if it has plugin or anything should be done).
Finally what I'm trying to ask is if anybody could explain me how actually GIT works. I'm expecting totally practical explanation intead theory using eclipse and so on that if it's possible to connect to git and is there a way to store all repos centrally if not should I got to each machine and backup the repos?. If git doesn't suit for me then I will have to try svn. I'm totally confused!.
Thanks!