 Welcome to the Data Management video series from the University of Wisconsin Data Services. I'm Kristen Briney. I am the Data Services Librarian here at UW Milwaukee. In this video, we're going to look a little bit at version control. And version control is something maybe not a lot of researchers are familiar with, but can really help you keep track of changes that you're making to documents over time. So a key example of this is if you're writing paper with some collaborators and you're sending different versions back and forth, you'll need a good way to keep track of what the latest version is. Or if you want to go back to an earlier version, you need to know kind of which version in the progression of this document editing you're working on or you did work on. So a version control system can really help you keep track of that information. So another example is if you're working on research code or protocols. Protocols are a great example because people change protocols all the time. And you need a way to reference which protocol you're using to differentiate between different versions of the same protocol and perhaps even revert to an earlier version of a protocol if you decided that one actually was better for what you're trying to do. So a version control system will give you that full history, will allow you to go back and forth between different versions of the same protocol and reference in your notes exactly which version you're using. All this is really useful and all this will help you manage your data better. So there's really two versions of version control that I want to talk about in this video. And the first one is just a very simple way to do version control and then in a minute I'll talk about doing a more robust method of version control. So the simple method of version control just involves naming your files differently and periodically saving your document to a new version of the file. So what I mean is if you have your file MyPaper, instead of just naming it MyPaper you'd name it MyPaper-v1 or MyPaper-v2 all the way up until you get to the final version and it would be MyPaper-final. So you can look through this whole history and see snapshots at particular points in time and also have a way to say that's the final version of my document. Another way to do this is actually to use dates and for protocols this might be better than just simply versions because you can say on this date here's the protocol and then it changed on this date and then I'm going to go back to this version of the protocol from this date and so on. So basically just by renaming add a little extra information to your file names and periodically saving as you update to a new version you can have a whole history, a snapshot of what you've done to this document over time and that can be really useful just to capture as much information as possible. So the second version control system is actually a version control system. It's a software that actually keeps track of the minute changes you're making to a document over time. So while file naming kind of gives you an overall snapshot, a version control system actually details I made this change on line one and I changed it from A to B. So a version control system is much more robust and it gives you a lot more control over keeping track of those versions. But it is a little bit harder to kind of get started in use and this is something actually version control systems came out of computer science so they're really useful for things like code but they've extended so you can actually use version control systems for writing a paper. Either way you're going to want a version control system for when you need more detail in your version control, when you want to capture those small differences, when you have multiple people working on something and you want to capture who added what, when you basically want a way to automate some of these things, look for a version control system. So one of the most popular version control systems out there right now is GetGIT and you often see Get partnered with GitHub. So Get is actually the thing that's keeping track of those small changes and who's making those changes and integrating those changes into your master document. GitHub is partnered with Get and GitHub is actually the thing that houses the document and all those changes. So GitHub is the repository and Get is the software that keeps track of all those changes. So this video, I don't actually have enough time to go through how Get or any other version control system works and there's plenty of other tutorials out there but I really encourage you to go out and try things out. If you want to get started, Get has a nice graphical user interface to kind of give you a feel for how it works and I encourage you, if you need that robust version control, to try it out. It really is an amazing tool. So those are the two version control systems. Just a simple one where you periodically save your file under a new version number. It gives you a snapshot to a more robust version control system. Either way, whether you choose to just get a simple snapshot or keep track of all those changes, keeping track of your versions, getting a whole history can really help you manage your data better, manage your files better and really have a way to be most transparent about what you're working on.