====== Git and Github ====== **Git** is a command line based tool that helps you to keep track of different versions of your code. You might have done this manually before in some of your classes - you might have saved files with different version numbers ... essay_v1, essay v_2, etc. Git helps you to manage this. **Github** is essentially a hosting service for Git repositories. Think of it like a specialized Dropbox or Google Drive just for code that uses Git. **Note - it's important to make a distinction between Git and Github** Git can be a little confusing to learn at first but plenty of people before you have learned it and it's in widespread use by software developers all over the world. Odds are, you'll encounter Git or some other version control system in the future again. ====== More Resources ====== Go through these resources before you continue on. - [[ https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control | Version Control Systems ]] - [[ http://git-scm.com/video/what-is-version-control | Video: What is Version Control ]] (6 min) - [[ http://git-scm.com/video/what-is-git | What is Git ]] (8 minutes) - [[ http://techcrunch.com/2012/07/14/what-exactly-is-github-anyway/ | What exactly is github anyways? ]] ====== Questions ====== Make sure you know and understand the answers to the questions below before you move on. If you don't fully understand these core concepts you'll get confused later on. These are also good discussion points for your team. - What is a version control system? - Why is it useful? - What is git? - What is Github? - How are git and Github different from each other? - Why do you think git or any other version control system can be useful? ====== Next Steps ====== - [[ Installing Git ]] - [[ Learning Git and Github ]]