Understanding Distributed Version Control Systems
Distributed Version Control Systems (DVCS) such as Git and Mercurial have rapidly gained popularity over recent years. This course explains the basic principles behind DVCS, and explains the benefits of using them in a wide variety of common development scenarios.
What you'll learn
It's likely that you will already have heard of Distributed Version Control Systems such as Git, but what are they and how do they work? This course sets out to answer the questions of what is going on under the hood, and to demonstrate the new workflow you would need to learn if you started using it. We look at DVCS from the perspective of three different development scenarios - single developer projects, open source projects, and commercial projects. This course includes lots of diagrams that will help you understand the "DAG," which is the way DVCS store their history, and there are demos of using both Mercurial and Git. We also see how you can make use of repository hosting from sites such as BitBucket and GitHub.
Table of contents
- Module Introduction 2m
- Single Developer Projects 3m
- Benefits of DVCS 5m
- Demo - Introduction 2m
- Demo - Creating a Repository 2m
- Demo - Ignore Files 5m
- Demo - Making a Commit 4m
- Demo - Navigating the DAG 2m
- Demo - Creating a BitBucket Repository 4m
- Demo - Working on a Second Computer 6m
- Mercurial and Git Command Recap 3m
- Module Summary 1m
- Module Introduction 3m
- Owner and Contributor Requirements 7m
- Contribution Workflow 4m
- Demo - Creating a Fork 5m
- Demo - Pushing Changes and Issuing Pull Requests 3m
- Accepting Pull Request Workflow 3m
- Three Types of Merging 5m
- Demo - Accepting Pull Request 3m
- When Contributions are Rejected 4m
- Module Summary 2m
- Module Introduction 5m
- Little and Often Commits 2m
- Personal Branches 4m
- Ad-hoc Teams 3m
- Branching Flexibility 4m
- Disconnected Working 3m
- Eliminate Code Freeze 1m
- Automated Deployment 1m
- Large Repositories 3m
- Large Files 1m
- Exclusive Locks 1m
- Learning Curve 2m
- Server Administration and Software Lifecycle Management 3m
- Immutable History 3m
- Module Summary 1m