git and GitHub#

Version control is a system that records changes to a file or set of files over time so that you can view or use specific versions later. It is a fundamental tool in modern software development, and we recommend always using version control on your projects, even if you are working alone. Version control also facilitates collaboration between multiple people working on the same project. The most popular version control system is git, and you should have it set up on your comptuer from the set up section.

Git projects (or repositories) can be hosted on a variety of platforms, but the most popular is GitHub. GitHub is a web-based hosting service for git repositories, and it provides a number of tools for software development.

This section covers the basics of version control using git and sharing and collaborating on code using GitHub.

If you would like to do the git and GitHub lessons outside of the context of the CookieCutter, see our standalone lesson on git and standalone lesson on GitHub.

Lesson Title



Introduction to Version Control using git

  • How do I use git to keep a record of my project?

  • Explain the purpose of version control.

  • Introduce common git commands.

  • Understand how to create a commit.

  • Understand how to view diffs and see previous versions of files.


  • How do I use GitHub to host my projects?

  • How do I use git and GitHub together?

  • Explain reasons to use GitHub.

Code Collaboration

  • How can others contribute to my project on GitHub?

  • How can I contribute to the projects of others?

  • Learn about collaboration models.

  • Learn what a fork is on GitHub

  • Learn how to open a pull request