
Who is this course for? What are the prerequisites? What will you learn? (Passive)
install and verify Git on mac using the terminal and Xcode command line tools, and set up a plain text editor like Sublime Text.
Learn to use the terminal to interact with your computer, mastering pwd, ls, and cd, navigate root and home directories, and use tab completion to prepare for learning Git.
Learn to undo changes in git using revert and reset, creating and discarding commits while preserving history or restoring a previous snapshot with head and head tilde.
practice creating and switching branches in git by adding a motivation.txt file on a motivation branch, staging and committing it, then returning to the master branch.
Merge the motivation branch into master using a fast-forward merge, then verify with Git status and Git log. Optionally delete the motivation branch with Git branch -D.
Learn how git diff shows added and removed lines, how to compare changes in the project or a single file, and how the GitHub app makes viewing diffs easier.
Set up a GitHub repository, connect it as origin to your local quilt book project, and push commits and branches to keep the remote in sync.
Pull updates from the remote to keep your local repo in sync with changes pushed by collaborators, using git pull origin master and reviewing fast-forward results.
Learn how git fork creates a remote copy of a repository on GitHub and how forks grant independent access, with changes staying separate from the original project.
Demonstrate how git rebase differs from git merge by shifting the starting point of the B1 branch onto the master, rewriting history for a cleaner but riskier shared history.
Learn Git By Doing
This course is designed to get students working with Git and Github as soon as possible. By the end of the course students will have hands-on experience working with Git and Github and will be able to use Version Control on any project.
Course Principles
Learn By Doing -- We believe that the best way to learn is by doing. That is why all of the core videos are designed for you to be able to follow along and reinforce the concepts taught in the video by actually typing along.
80/20 Rule -- With most technologies it takes 20% of the knowledge about the technology to be able to accomplish 80% of the tasks you need to do with that technology. Therefore it’s important to start by learning that crucial 20% that allows you to get up and running with the technology quickly. We still believe that you should learn the rest as well so we’ve included that material in the Advanced Topics section and continue to add to it.
I do, We do, You do -- We believe that the best way to learn a new technology is to first observe how it is used, then code along with someone, and finally use the technology yourself. This is why we have our videos along with assignments throughout the course that allow you to solidify what you learned from following along.
Course Structure
The course is split into two main sections: Core Competencies and Advanced Topics.
Within the Core Competencies we first go over using the Terminal for students who have absolutely no experience with the Terminal (this section can easily be skipped by those who already feel comfortable interacting with the Terminal). We teach students how to navigate their folder structure and create files and folders. We then jump straight into Git and teach students how to create repositories and commit changes. We then teach students how to “go back in time” with resetting and reverting before moving on to branching and merging. After teaching the basics of Git we add in Github to show students how to interact with a remote repository and then we go over the proper workflow for collaborating using a remote repository.
After going through the Core Competencies we feel that the student will have a solid foundation to be able to use Git with collaborators on 80% of the tasks they may need to tackle.
In the Advanced Topics section we periodically add content on some more advanced aspects of git including Rebasing, Stashing, advanced Merge scenarios, etc. to make sure that students always have a place to learn the advanced concepts that they may not see too often but still need to know.
Sign up for the course and Learn Git Today!