Ever make changes that broke your code and forgot how it was working before? Want to work together with someone on a code project, but aren't sure who has the latest version of a particular file? Version control can solve these and other problems!
Git is a popular version control application that can track your code changes, as well as help you to be more methodical in your programming. Win-win! This session will introduce the basics of version control, how to use git to keep track of your changes to a project, and using GitHub (a hosting service) to collaborate with other developers.
This class will be broken up into two sections. The first section will be lecture-based and will cover:
- the basic concepts of version control
- the differences between git and other version control applications
- fundamental git commands to track changes to a small project
- the basics of collaborating on code with other developers
- how to use GitHub
The second section will be a lab where put that new knowledge to work by creating a GitHub account and setting up git on your machine. The remaining portion of lab will be spent play githug, a git game that we will pull down from -- you guessed it -- GitHub. This lab is freeform, so students are welcome to skip the game portion of the lab if they would prefer to work on their own GitHub projects with instructor assistance.
Want to try Git for yourself? Github has a 15-minute tutorial you can go through on your own here.
This class will not use actual code when committing to a GitHub repository, so no need to worry about knowing a particular programming language. A willingness to use the command line to execute commands is necessary. We will be changing directory, listing directory contents, and using git from command line throughout the class.
About the teacher:
Sarah is an English Major and general language nerd. After finishing her BA, she fell into a technology job, fell in love, and never looked back. After several years of working in IT, she went back to school and got a computer science degree from UPenn. She is now a polyglot programmer and software engineer at The Neat Company in Philadelphia. You can find out more about her adventures in programming at http://www.devlogged.com