2h 55m – Intermediate
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.
Topics include:
Comparing centralized vs. distributed systems
Saving changes and tracking history
Using revert or rollback
Working with the GUI tools
Using IDE and shell integration
Installing different systems
Creating a repository
Tagging code
Branching and merging code
Selecting a software version control system that’s right for you
Introduction – 2m 12s
Welcome – 56s
What you should know before taking this course – 23s
Using the exercise files – 53s
1. Overview of Software Version Control – 25m 8s
Overview of software version control – 2m 51s
Understanding version control concepts – 5m 14s
Demo one: Getting started – 11m 1s
Demo two: Handling the “oops” – 6m 2s
2. Background of Software Version Control – 11m 3s
The history of version control – 3m 44s
Terminology – 4m 27s
Exploring centralized vs. distributed systems – 2m 52s
3. Version Control Concepts – 28m 42s
Getting files in and out of a repository – 4m 38s
Saving changes and tracking history – 2m 47s
Reverting to a prior version – 1m 42s
Creating tags and labels – 1m 5s
Branching and merging – 4m 10s
Exploring workflow integration and continuous builds – 2m 46s
Using graphical user interface (GUI) tools – 2m 39s
Integrating a version control system with an integrated development environment (IDE) – 2m 50s
Examining shell integration – 3m 26s
Looking at forward and reverse integration – 2m 39s
4. Subversion – 25m 59s
Installation and setup – 3m 31s
Creating a repository and a project – 5m 10s
Working with check-in, checkout, and revert – 6m 12s
Tagging – 1m 34s
Branching and merging – 5m 32s
Working with GUI clients and IDE integration – 4m 0s
5. Perforce – 16m 13s
Installation and setup – 55s
Working with check-in, checkout, and revert – 9m 34s
Tagging – 1m 7s
Branching and merging – 4m 37s
6. Microsoft Team Foundation Server (TFS) – 26m 41s
Installation and setup – 3m 47s
Creating a repository and a project – 6m 15s
Working with check-in, checkout, and revert – 8m 31s
Tracking history and tagging – 2m 15s
Branching and merging – 5m 53s
7. Git – 19m 25s
Installation and setup – 3m 1s
Creating a repository and a project – 1m 6s
Working with check-in, checkout, and revert – 6m 39s
Tagging – 2m 13s
Branching and merging – 3m 44s
Working with GUI clients and IDE integration – 2m 42s
8. Mercurial – 16m 54s
Installation and setup – 1m 48s
Creating a repository and a project – 59s
Working with check-in, checkout, revert, and tracking history – 6m 9s
Tagging – 1m 50s
Branching and merging – 4m 29s
Exploring GUI and shell integration – 1m 39s
Conclusion – 3m 38s
Selecting a software version control that is right for you – 2m 30s
Next steps – 1m 8s