Reading

Software Engineering (Sommerville 2016)

  • Chapter 25: Configuration management
    • Version management
    • System building
    • Change management (skim)
    • Release management (skim)

Git Handbook, being sure to watch the following videos:

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

Resources

Reading guide

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 (Chacon and Straub, 2014) 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: