Short and Sweet: Next-Level Git and GitHub – Get Productive
*** Course Updated on January 9, 2016! NEW quiz! ***
Are you a software developer who uses Git and GitHub, or needs to start using these tools for work or a side project?
This 2-hour intermediate course takes away the guesswork. It builds on my free, introductory course Short and Sweet: Get Started with Git and GitHub Right Now, to tackle tough topics like collaboration, branching and merging. The intro course has 200+ reviews and 8000 students.
This course goes way beyond the intro course. More examples and more practical knowledge – and the same simple, no-nonsense structure.
Save time and get productive with Git and GitHub – fast!
In less than 2 hours, this Short and Sweet course will take you from beginner to intermediate skills, without a lot of filler. At the end of the course, you’ll be able to add collaborators to your own projects, clone and collaborate on other people’s or companies’ projects, use branching and merging to minimize conflicts, fork projects, and recover from errors by rolling back to prior versions the right way.
That’s a great trade for 2 hours of your time!
What do students say about this course?
“This is an excellent course on how to start using Git & GitHub with clear examples throughout the course. Gives all the good practises to start coding and committing code to your own or multi-user project. Shows you how to do all the usual commands and scenarios when developing code in a project.
“It also shows where & how things can go wrong and also VERY importantly shows what you must not do which could wreck other users’ submission of code or break the project.
“I would Highly Recommend this course as it covers the basics that you need to know. :-)” —Mark Collins
Why Git and GitHub?
Using Git on the command line can seem difficult because the commands are exacting, and they can trip you up if you get out of sync – but Git and GitHub are very powerful and absolutely essential for modern software developers.
That’s because Git and GitHub are a mainstay of modern software version control. Used together, they provide a backup mechanism, a record of your project’s history, a collaboration mechanism, and a base for a public portfolio that could get you a job.
Please note: This is a command-line-based course designed to get you productive FAST. This course assumes you already have a GitHub account, have installed Git on your computer, and have pushed your first commit. If you haven’t, please enroll for free in my 30-minute introductory course Short and Sweet: Get Started with Git and GitHub Right Now.
But if you’ve already taken the introductory course, or you’re slightly familiar with Git and GitHub and want to look under the hood and get serious, this course IS for you and I hope you’ll enroll.
“I was already familiar with Git, but had not used it in a workflow that used pull requests. Also, I’ve been trying to understand the rebase command, and no previous explanation made sense to me. This course satisfactorily described both pull requests and the most-likely situation where I would use rebase.” —Steven Calwas
Second note (for serious students ONLY!): This course tackles collaborative Git and GitHub topics that many online courses and tutorials don’t: It covers the Fork & Pull model (often used by larger, more established projects) and the Shared Repository model (often used by smaller or more informal projects).
Some of these topics are harder to study in an online course, because the best way to practice them is to have access as a collaborator to someone else’s code repository. However, if you’re new to Git and GitHub, you may not have that access.
Therefore, in this course, I encourage you to set up a secondary GitHub account and add your own primary account as a collaborator (don’t worry, I’ll show you how to do this!), so you can switch between accounts and practice collaboration that way. Is doing this a bit of a hassle? Yes. Is it the best way to learn the material in this course (at least, if you don’t already have collaborator access)? Yes!
In fact, if you really want to go all the way and try everything, please be willing to switch between two user accounts on your computer, so you can use one account with your regular Git configuration and your regular GitHub account, and the second account with a different Git configuration and your secondary GitHub account.
Of course, you can always just watch the lectures and take notes, which should prepare you to collaborate on projects in the future with some base of knowledge.
But I encourage you to choose the active approach. I’m here to support the course, and if you put in the work and reach out when you have questions, I will put in the work to help you succeed.
Update January 9, 2016: New end-of-course quiz!
How to Enroll
My goal is to make this course the best-ever guide to getting GOOD at Git and GitHub. Please let me know if anything in the course could be clearer, and I’ll be happy to help you. It also will help me improve the course.
If you’re ready to learn more and sign up for the course, go ahead and hit that Enroll button – you’ll gain:
- Lifetime access to the course
- Instant access to free updates that I make to the course over time.
- Full support from me to address any questions you may have related to learning Git and GitHub.
- AND, Udemy offers a 30-day refund guarantee, so there’s no risk to you! Enroll now and let’s get started!
Start Here - Introduction and Setup
This lecture introduces the course and its prerequisites.
This lecture reviews the basic Git and GitHub workflow and answers the question: Are 'git add' and 'git commit' redundant?
This text lecture walks you through installing a credential helper, which will store your GitHub username and password and then automatically log you in whenever you push a commit. A downloadable PDF is also available.
Shared Repository: Collaborating When You Have Repository Access
This lecture shows you how to add a collaborator to a GitHub repository that you own.
This lecture provides tips for studying this section of the course if you aren't already a collaborator on a real-world software project.
This lecture walks you through the first step in the Shared Repository collaboration model: cloning an exact copy of someone else's GitHub repository to your local computer. Support is available if you run into any problems.
This lecture shows you how to use the 'git pull' command to keep your local cloned repository up-to-date with its parent repository on GitHub.
This lecture introduces the idea of using branches for development work instead of making changes directly on the master branch.
This lecture walks you through creating a pull request, which asks the project owner to merge the changes in your new branch into the parent branch on GitHub. (The project owner can accept or reject the changes.)
This lecture shows you how a project owner can merge changes from a pull request into the master branch. A second example gets you familiar with the entire workflow: branch --> pull request --> merge.
This downloadable PDF compares two basic Git and GitHub workflows: 1.) Pushing your first commit to your own Github repository; and 2.) Proposing your first change to someone else's GitHub repository if you are a collaborator (the Shared Repository model).
This lecture explores the debate around the --no-ff option for the 'git merge' command - showing that Git workflows are not necessarily set in stone!
This lecture walks you through what a merge conflict is, how a merge conflict happens, and how to resolve it. This is one of the thorniest parts of using Git and GitHub!
Fork & Pull: Collaborating When You Don't Have Repository Access
This lecture shows you how to fork someone else's GitHub repository, which is the first step in the Fork & Pull collaboration model. Fork & Pull allows you to propose changes even if you are not an official collaborator on the repository.
This lecture walks you through cloning a forked GitHub repository and then making changes to it using a new branch.
This lecture shows you how to create a pull request from a forked repository on GitHub, asking the project owner of the original repository to review changes you propose.
This downloadable PDF compares the two collaborative Git and GitHub workflows: Shared Repository versus Fork & Pull.
Mistakes, Reverting, Rebasing and Transferring Ownership
This lecture acknowledges that mistakes happen - and then actively creates one, so we can fix it in the next lecture!
This lecture walks you through using 'git revert' to return to a stable version after a mistake has been pushed to GitHub. The key reason to use 'git revert' is that it avoids rewriting the commit history.
This lecture emphasizes why you should avoid rewriting published commit history at all costs - it's a major pain for other developers working on the project, and it goes against the entire philosophy of Git and GitHub.
This lecture shows you how to use 'git rebase -i' locally to squash several small commits into one larger commit. Note that this is done before pushing the commits to GitHub. Once you push, don't rebase if at all possible.
This lecture demonstrates how to use 'git stash' to store local changes for later if your work is interrupted before you're ready to commit.
As a project owner, you may want to transfer ownership of a repository to another user. This lecture shows you how to do it.
Wrap-Up and Next Steps
This takeaway puts the best practices we discussed in this course at your fingertips. Note: Always adhere to your company's or organization's policies!
This lecture wraps up the core curriculum. After completing this course, you'll be able to do productive, collaborative work in Git and GitHub.
This quiz will help reinforce your learning during the course.
This lecture gives you next steps to continue learning about Git.