What you'll learn:
- Learn the key concepts of the Git source control system
- Step through the entire Git workflow
- Compare the different states in Git
- Manage files inside and outside the control of Git and GitHub
- Create and manage repositories on GitHub
- Create branches and resolve conflicts with confidence
- Save work in progress with Stashes
- Mark special events with Tags and Releases
- Even a bit of time travel within Git repositories and on GitHub
- Perform many of the same local Git operations directly on GitHub
- Join other GitHub projects by Forking and contribute back using Pull Requests
- Review and Accept Pull Requests from Others
- Share code with Gists
- Manage project defects or enhancement requests with GitHub Issues
- Group related repositories together with GitHub Organizations
This course will comprehensively cover the GitHub hosting service as a companion to the Git source control tool, which means no prior knowledge or experience is required.Students will emerge at the end with a very solid understanding and hands-on experience with Git and GitHub.
Course Organization
The course is divided into four major components:
Introduction and Setup
Learning Git Source Control
All About GitHub
Bonuses
Each one of the above components spans multiple sections in this course.
New! Video explaining how to resolve Git breaking when upgrading macOS each year
Introduction
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.
Learning Git Source Control
In TheBasics, we walk through all the foundational 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 some moreAdvancedGit topics like comparing differences, branching and merge resolution, tagging special events, saving work in progress, and even a bit of time travel.
All About GitHub
The main part of this course is all about GitHub. We will explore GitHub indepth from a source control hosting repository perspective.
InWelcome to GitHubwe start off exploring some of the basic features of GitHub by creating a fresh repository and associate our local repository with it.Then, we prepare for the remainder of the course by setting upSSH Authentication, which we will use from this point forward.After that, we continue looking at theGitHub Repository, including many of the same operations we performed locally, but done directly within GitHub. Then inGitHub Repository Brancheswe dive into how Branches on GitHub and our local system work with each other.
After we have comprehensively covered how GitHub repositories work, we focus on howGitHub Tags and Releaseswork and their relationship with local tags in Git. We can then use tags/releases whileComparing Differenceson GitHub.
We start tying things together inSocial Codingwhere we join other projects on GitHub byforkingand then submitting our contributions back usingpull requests.
Once part of a team, you might useGitHub Issuesto track defects or enhancement requests.
Sometimes you just need to share small parts of a file or a set of files, but don't want to bother with a full Git repository. That whereGitHub Gistshelp out -- share just a snip of code or entire files.
Finally, group related GitHub repositories withGitHub Organizationsand manage permissions and access using teams.
Bonuses
The bonuses sections and lectures provide additional information, more comprehensive instructions, or non-critical lectures.
Course Features
All tools have installation and configuration sections to ensure no one is left behind.
Presentations provide audio/video training of conceptual ideas. Since few like slide-ware presentations, slide-presentations are kept to a minimum.
Screencasts provide a video of the instructor's computer system with any actions, commands, or screens displayed and narrated. There is nearly 5hours of screencast based video training in order to step through each command or action in sufficient detail.
All videos are available in high quality 1080p / Full HDresolution for sharp and clear viewing on modern desktops and tablets.
Several attachments and document lectures throughout the course provide supplemental information, illustrations, or other reference material.
Moving Forward
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!