Comme ça n'a lieu en général qu'une seule fois (ou plus exactement une fois par personne et par ordinateur), c'est expliqué ailleurs. Dans les explications ici, les choses d'usage fréquent sont en premier, les choses d'usage rare sont vers la fin. Du coup, les explications sont plutôt à la fin, et les exemples d'utilisation sont plutôt au début. Pour une première lecture, il faut sans doute lire dans le désordre...
Le principe est simple: chacun a une copie locale (sur sa machine) des fichiers, copie sur laquelle il peut travailler comme bon lui semble. Tout ce qu'on fait en local reste en local, a priori. Pour que ça ne reste pas en local, il faut le demander explicitement.
Quand on modifie un fichier, la modification reste sur la copie locale tant qu'on n'a pas demandé à la sauver en global. Pareil quand on ajoute un fichier ou quand on en supprime un. Ainsi, si on supprime un fichier, à chaque fois qu'on va demander de mettre à jour la copie locale en reprennant les dernières mises à jour, le fichier va revenir, puisqu'il existe toujours en global.
Le scénario habituel pour travailler dans CVS ressemble à ça:
bayartb@cachy:~/dev/FDN/FDN-Compta$ cvs up -dPA ? 2010-01.csv -f update: Updating . U 2012.ods -f update: Updating sql bayartb@cachy:~/dev/FDN/FDN-Compta$ oocalc 2012.ods bayartb@cachy:~/dev/FDN/FDN-Compta$ cvs up ? 2010-01.csv -f update: Updating . M 2012.ods bayartb@cachy:~/dev/FDN/FDN-Compta$ cvs commit -m "Ajoute facture XXX"