What you'll learn:
- Learn the key concepts of the Git source control system
- Group related repositories together with GitHub Organizations
- Create branches and resolve merge conflicts like a pro
- Create and fork repositories on GitHub and push changes back after working after working on them locally
- Step through the entire Git workflow
- Even a bit of time travel within Git repositories and on GitHub
- Mark special events with Tags and Releases
This course is designed to be a comprehensive approach to Git, which means no prior knowledge or experience is required but students will emerge at the end with a very solid understanding and hands-on experience with Git and related source control concepts.
The course is divided into four major components:
Introduction and Setup
Learning Git Source Control
All About GitHub
Each one of the above components spans multiple sections in this course.
New!Closed captions throughout the course!
TheIntroductionprovides a welcome to the course including some useful tips for getting the most out of taking the course and how the course is designed. That is followed by theCore Conceptswhich go over some critical theory before diving straight into Git.
After the introduction and core concepts, the first thing we do is aQuick Installationfor both Windows and Mac. The Bonus section has a more comprehensive, step-by-step process for those that prefer it.
Course Introduction and Overviewprovides an introduction to this course and the Git source control system and sets the stage for the rest of the course.
After the introduction, the first thing we do isGit Installationfor both Windows and Mac.
Quick Starta very quick (15 minutes), hands-on introduction to Git. We start off by signing up for GitHub, creating a repository there, the makiing a local copy (clone), local changes (add/commit) and then update GitHub with our changes (push).
InBasic Commands, we walk through all the foundation commands needed to start a new project managed by Git (or enable Git for an existing project) all the way through making commits, including common file operations like moving and deleting files. We also cover how to exclude the wrong files from accidentally being committed and how to review your repository's history.
With a strong foundation in place, we explore ways to makeComparisonsin Git, including all the different local states, between commits, and between local and remote repositories.
We give great attending toBranching and Mergingin Git. We start off with the simple "happy path" and learn about "Fast-Forward" merges and how to control them. The we walk through common "automatic" merges. Finally, we cause trouble on purpose so we can step through resolving conflicting merges with our visual merge tool.
With a strong foundation in branching and merging, we will then cover a more complex topic,Rebasing. In that section, we cover several rebasing examples, including how to resolve a rebase conflict.
In theStashingsection, we save our work-in-progress while we attend to more pressing issues, then pick up where we left off after that.
NEW:In theTaggingsection, we mark important milestones or releases within our project. We also use those tags later for comparing differences between important milestones. We also look at how to use tags within GitHub.
All toolshaveinstallationandconfigurationsections to ensure no one is left behind.
Presentationsprovide audio/video training of conceptual ideas. Since few like slide-ware presentations, slide-presentations are kept to a minimum.
Severalattachmentsanddocumentlectures throughout the course provide supplemental information, illustrations, or other reference material.
This course will expand periodically to include more topics, supporting materials and bonus content! Some content may be in direct response to student feedback or discussions -- so get engaged with the course discussions feature!