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: (2.75–3.5 hours total)
- Watch the following videos about version control:
- Introduction (3 minutes)
- Essential Actions (1 minute)
- Exploring branch and merge (5 minutes)
- 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)
- Watch the following videos about Git:
- Introduction (1 minute)
- Workflow (7 minutes)
- Demo
- Intro to Git (15 minutes)
- GitHub (4 minutes)
- Local Repositories (2 minutes)
- Remote Repositories (1 minute)
- Read the Git Handbook, being sure to watch the following videos: (15 minutes)
- Watch What is Continuous Integration? (7 minutes)
- Participate in the synchronous session during the class meeting time
(optional)
- Honor (brief summary ‘cause you’ve heard it before)
- Quizzes, specifically the help policy
- Quick overview of version control, including branching and merging (5 minutes)
- How to start the introductions assignment (10 minutes)
- Complete the quiz (5 minutes)
- Start the Introductions assignment
(15–30 minutes)
- Accept the assignment in GitHub Classroom
- Clone the repository to your local machine
Due
As a reminder, the following is due this lesson:
Resources
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