-Before getting to the demo, I want to say a few - -2
-more things. In particular, I discuss the main don'ts in VCS. So, - -3
-what are some things that you don't want to do, and - -4
-you should not do, when you're using a version control system? And - -5
-I'm going to mention two, in particular, because these are two - -6
-that I witnessed several times when I was teaching this class and - -7
-also when collaborating with other people. So, there are two kinds - -8
-of resources that you don't want to add to a VCS normally. - -9
-One is derived files. For example an executable that is - -10
-derived by compiling a set of source files, where the - -11
-source files all already in the repository. At that point, - -12
-there is no reason to also add the executable file in - -13
-the repository. So in general, any executable file should not - -14
-be added to repository. The second class of files that I - -15
-want to mention is these bulky binary files. If you - -16
-have one such file, it is normally not a good idea - -17
-to store them under a version control system, to store them - -18
-in the repository. There might be exceptions to these rules, but in - -19
-general, these are the kind of files that you want to - -20
-keep local, and you don't want to put in the VCS repository. - -21
-Another typical mistake, and that happens all the time, especially to - -22
-novice users of VCS. Is that you get your file from VCS - -23
-and so you get your local copy of the file that - -24
-was in the VCS, and you want to make some changes, and - -25
-before making the changes you decided, no, no let me actually save - -26
-a local copy of the file, and I'm going to work on - -27
-that one. Or let me save it before I modify it, or - -28
-let take a snap shot of a whole tree of files. Just because - -29
-I don't really trust the fact that VCS is going to be - -30
-able to help and is going to be able to recover from possible - -31
-mistakes. Never ever do that. I have seen that done many times, - -32
-and it always leads to disasters. First of all it is useless, and - -33
-second it's risky. Because then what happens is that at - -34
-the time in which you have to turn in your assignment, - -35
-in the case you are doing an assignment, but even in - -36
-more serious situation, when you have to turn in your code, - -37
-for example to your colleagues. You always end up being confused - -38
-about which is the version that you're really using. So absolutely - -39
-no local copies. No local redundancy when you're using a version - -40
-control system. Trust the version control system, and trust the version - -41
-control system to be able to manage your versions. You - -42
-can always save it, commit it, retrieve previous versions, and you'll - -43
-be able to do everything that you can do by copying - -44
-the file yourself, and even more. So again, try the VCS. -- cgit 1.4.1