Start learning with our library of video tutorials taught by experts. Get started
Viewers: in countries Watching now:
This course is a gateway to learning software version control (SVC), process management, and collaboration techniques. Author Michael Lehman reviews the history of version control and demonstrates the fundamental concepts: check-in/checkout, forking, merging, commits, and distribution. The choice of an SVC system is critical to effectively managing and versioning the assets in a software development project (from source code, images, and compiled binaries to installation packages), so the course also surveys the solutions available. Michael examines Git, Perforce, Subversion, Mercurial, and Microsoft Team Foundation Server (TFS) in particular, describing the appropriate use, features, benefits, and optimal group size for each one.
Sometimes when you make changes to a file, they turn out not to be what you want. You may open a file and accidentally delete too much and then save it back and realize, oh, I can't do any undo because I am already out of my editor. You may change the color palette of an image and then not remember what the original RGB values were. You may do some refactoring and then realize when you're done it's not the way you want to do it, and you want to start over. This is one of the places where Version Control systems can really help you out. So you've got your file in the repository at time T1, you would check it out or update it as necessary, and you begin to make some changes.
You delete feature B and add feature D and then you realize that's not the way you want it. So with Version Control software, you can go back and say please overwrite the file in my working set with the most recently saved one, or even overwrite the file or the entire working set with the version from last Thursday. This is sometimes called reverting, and in some systems it's called rollback. Now, the key thing is that you have to identify the specific version you want to roll back to. Each time you commit or check in, the Version Control Software creates a changeset identifier.
You can see here in the stack of files we have on the left that when we added feature C that created changeset number 23. So at anytime you can say, hey, I want to roll back to that particular changeset, and you tell it to revert to changeset 23, and now the working set has, well, it's at time 2, it has exactly what was in the file at the time you saved it as changeset 23. This is one of the big key benefits of using Version Control. You get the freedom to work quickly and the security of knowing the Version Control Software always has your back.
There are currently no FAQs about Fundamentals of Software Version Control.
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.