Configuration Management
Learning Objectives
- List and explain the key features of version control systems
- Illustrate the concepts of branching and merging
- Match the following operations in Git with their description
- Explain the difference between the working directory, staging area, and repository in Git
- Use Git to track changes to files
- Compare traditional system building with continuous integration
How to Complete this Lesson
Complete the following learning activities: (3–3.75 hours total)
- Read the following in Software Engineering and
(optionally) complete the reading guide:
- Chapter 25: Configuration management
(90–120 minutes)
- Version management
- System building
- Change management (skim)
- Release management (skim)
- Chapter 25: Configuration management
(90–120 minutes)
- Read the Git Handbook, being sure to watch the following videos: (15 minutes)
- Attend the class meeting (60 minutes)
- Start the Introductions assignment
(15–30 minutes)
- Accept the assignment in GitHub Classroom
- Clone the repository to your local machine
Resources
Videos
- Version Control
- Introduction (3 minutes)
- Essential Actions (1 minute)
- Exploring branch and merge (5 minutes)
- Git
- Introduction (1 minute)
- Workflow (7 minutes)
- Demo
- Intro to Git (15 minutes)
- GitHub (4 minutes)
- Local Repositories (2 minutes)
- Remote Repositories (1 minute)
- What is Continuous Integration? (7 minutes)
Further Reading
Bryan O’Sullivan, “Making Sense of Revision-Control Systems,” Communications of the ACM, Vol. 52, No. 9, pp. 56-62, September 2009
Pro Git is an excellent resource to learn more about Git, from the basics to the nitty-gritty details. The following chapters are particularly relevant:
(Note that only the first section of each chapter is accessible via the prior links so you must view the later sections using the navigation buttons at the bottom of each page.)
If you prefer graphical user interface, GitHub Desktop is cross-platform and designed to work with GitHub. The following articles cover the basics of how to use it:
- Getting Started with GitHub Desktop
- Adding and cloning repositories
- Making changes in a branch
- Working with your remote repository on GitHub
- Keeping your local repository in sync with GitHub