Version Control is a system that records changes to a file so you can: - Recall and earlier version of the file - Revert back to an earlier version of the file - Compare changes made to the file over time - See who made changes to a file, and what changes they made - More easily identify issues and recover lost data Some types of version control include: - Local version control, which is just copying files to make changes. → This is what I’ve done up until this point, e.g with writing drafts, and it’s been a total PITA to organize and review previous drafts. Would be way easier to have one file for each piece of writing where I can revisit all the drafted material without it cluttering my files… - Centralized Version Control Systems (CVCSs), which were developed for collaboration. - A single server has all the files, but they can be “checked out” to different machines. - …But if that server goes down or dies, no one can work and data is lost. - With **Distributed Version Control Systems (DVCSs), users get the entire *repository* on their machine with its full history, instead of individual files.** - This is what [[{9.2a} git]] is.