GitHub Basics
GitHub is by far the most popular platform for modern Open Source projects and as such, having an account on this service and understanding how to use it essential to be able to collaborate with others on your future projects. If you do not already have a github account, go make one immediately and share your username with your mentor. If you have only ever cursorily looked at repositories on GitHub, spend time to learn about how they are set up and used. Ask your mentor for some key ones to look at that might be of interest to you and carefully inspect who is contributing to them, how branches and pull requests are used.
Goals/Objectives/Outcomes
- Understand how to your local repository and remote GitHub repositories work together
- Understand how to clone remote repositories to your local machine
- Understand how to look at the commit history for a repo on GitHub
- Understand how to look at differences between Branches and Commits on GitHub
- Understand how to Fork a repository into your own GitHub account
- Understand how to work with multiple remotes of a project
- Understand how to read comments on commits
- Understand how to reference issue numbers in commits or commits in issues
- …. this could get to be a long list
- Understand how to use GitHub pages to publish html websites
Reference Material
- https://guides.github.com/activities/hello-world/
- https://www.youtube.com/watch?v=0fKg7e37bQE
- https://www.codeschool.com/courses/mastering-github
- http://readwrite.com/2013/09/30/understanding-github-a-journey-for-beginners-part-1
- http://kbroman.org/github_tutorial/
- http://lifehacker.com/5983680/how-the-heck-do-i-use-github
- Publishing to GitHub Pages
Measures of Success
- Participant has begun their way up the git/github learning curve and is on their way to mastering the practice of distributed software development.
- Participant has explored the basic concepts of branching and merging, pulling and pushing with their Mentor on a test repository
- Participant understands the key places to go to get help when stuck on a git workflow question
- Participant has published their own personal GitHub pages account
- Participant understands how this model of software development has influenced other disciplines to use this model and why it works really well for distributed teams working asynchronously on ‘Open’ projects.