Developers contribute. We work on teams and/or give our time to open source projects. In order to contribute, you need to be comfortable with git, GitHub, and the workflow process. In this hands-on coding lab, you will learn how to wire everything up, use branching, keep everything in sync and up-to-date, handle merge or commit issues, create issues, create pull requests (PR), and more. Let’s git you contributing.
Git is confusing. It is. It can be intimidating to learn and master. For me, it took me awhile to figure out the workflow and become comfortable with the phrasing and commands.
This lab cuts through the confusion by focusing on what you need to accomplish, rather than just the commands. You’ll walk through the entire process of:
What You Get
My goal is that this lab wipes away the confusion and frustration for you and empowers contribution to a team or project. Don’t worry. I’m here with you all the way through the lab and beyond. Come on. Let’s git you contributing.
In this hands-on coding lab, you will walk through the entire git contributor’s workflow. Step-by-step, you will learn how to contribute to a team or project.
Some of the technical aspects of the workflow include:
- Fork and Clone
- Set up the Remotes
- Pull to update the
- Add, delete, and switch between branches
- Push your code to GitHub, open a Pull Request, and request that your contribution be considered
- Code review workflow and submitting changes
- A look at the PR approval and merge process
- Cleaning up old branches
- Branch update strategies: merge and rebase
- Dealing with merge conflicts
Once you complete this lab, you’ll be ready to go contribute to your team or a project.
“I’ve done a s**t load of these git courses and have read a load of posts and books. I’m pretty good with git. That said, this course is by far the best. I learned new things and certainly have a much better understanding of git in human terms. More importantly, I now have a practical workflow. So so so helpful. Thank you!” ~
Before you get started in this lab, we recommend the following:
- Have git globally installed and configured on your machine.
- Have a GitHub account.
- Have SSH setup on your machine and GitHub.
Your functions are bloated. Put them on a diet. Think "skinny" and "as few lines as possible."
Total Lab Runtime: 02:46:31
- 1 Contributor's Workflow Big Picturefree 10:49
- 2 The Wiring - Fork. Clone. Upstream.free 08:51
- 3 Fork a Remote Copypro 02:13
- 4 Clone It to Your Local Machinepro 05:02
- 5 Add Upstream Remotepro 04:34
- 6 Branch Workflowfree 10:30
- 7 Naming Branchespro 05:38
- 8 Create a New Branchpro 03:56
- 9 Switch to a Different Branch (Checkout)pro 05:34
- 10 Do Our Workpro 04:40
- 11 Explore How Work is Isolated in Branchpro 03:19
- 12 Pull Request Workflowfree 06:00
- 13 Push Your Contribution to GitHubpro 04:01
- 14 Open a Pull Requestpro 09:36
- 15 Code Review & Change Requestspro 07:28
- 16 Your Contribution is Approved & Mergedpro 05:19
- 17 Clean up & Pull Down Updatespro 16:08
- 18 Keep Your Branch Up-to-Datepro 06:49
- 19 Update Branch with Mergepro 13:30
- 20 Update Branch with Rebasepro 11:38
- 21 Dealing with Merge Conflictspro 12:23
- 22 Wrap it Upfree 08:33
Let's tame git. Let's create a rich set of commands and shortcuts that make sense and are intuitive. Let's build a set of scripts that are callable by a single command, such as `git uncommit` or `git rollback`, i.e. commands that wrap up repetitive tasks and automate them via a single command. In this hands-on coding lab, you'll build a rich collection of these commands via git aliases and bash scripting to git you more productive.
Check out the Local Development Environment & Workflow for more hands-on labs, insights, Docx, and more.
Check out the series page for more labs: Git Empowered Series