Git In-depth
Join us for an Exclusive Workshop:

Git In-depth

Nina Zakharenko
Nina Zakharenko
Reddit
October 6, 2017 - 9:30am to 5:30pm Central US Time

Attend Online

Live and in Full HD
OR

Join in Person

From Downtown Minneapolis, MN

You're Registered to Attend Online!

October 6, 2017 - 9:30am to 5:30pm Central US Time

This Workshop Is Currently Live

October 6, 2017 - 9:30am to 5:30pm Central US Time

This Workshop Has Already Concluded

Git In-depth

Why You Should Join Us

By coding along with us in the Workshop, you'll:

  • Learn how git represents commits and branches internally to gain deep insights into how git works under the hood
  • Discover the power of rebasing in git, along with how to avoid common pitfalls. Learn to tell when it's appropriate to re-write history
  • Discover how git hooks can make your life easier by running analysis on your code before you commit in order to prevent common errors from making their way into your codebase
  • Discover lesser-known features of git that will save you hours of time when resolving merge conflicts and track down bugs…
  • Learn how to harness the power of the GitHub API to fetch information about your repositories. I'll show you how you can simplify and automate workflows when we build a sample application together

Your Instructor

Nina Zakharenko

Nina Zakharenko

Nina is a Senior Software Engineer at reddit, working on redditgifts.com. She’s been a developer for over 8 years, with experience in several programming languages, most recently Python and Javascript. In her spare time, she skis, snowboards, climbs, and mountain bikes from her home base in Park City, UT.

Spend A Full Day Immersed With Nina Zakharenko

Workshop Details

Git In-depth

We'll start by talking about productivity tools that will save time and reduce frustration when working with git repositories. Next, we'll deep dive into areas of git you may already be familiar with, such as the staging area, commits, and branches. I'll explain how these features are implemented under the hood, and how they fit in with the greater philosophy of git. We'll cover what's in the .git/ directory in your projects. Now that you know how these features work, we'll cover common git errors along with concrete examples for fixing common mistakes.

Then, we'll cover forks and remote repositories. We'll discuss merging and rebasing, and the advantages and disadvantages of each approach. I'll explain tips and tricks to make combining, splitting, deleting, or amending commits straightforward and easy to follow. We'll explore commits and talk about the git log before diving into the 'Danger Zone' — what happens when you re-write history and end up losing or overwriting work. We'll move on to advanced features like cherry-picking, advanced stashing, and an example of how powerful git bisect can be.

We'll spend some time talking about customizing your git configuration for maximum productivity. We'll also talk about git commit hooks - scripts you can run before or after events such as commit, push, and receive. We'll go over examples of hooks that you can start using in your own codebase today.

Lastly, we'll spend time covering some of the advanced features of GitHub. We'll discuss how to integrate continuous integration tools like Travis CI into your repository. We'll end class by discussing the GitHub API and how it can be used to simplify and automate your workflows. For our final exercise, we'll demonstrate how to listen to notifications and trigger events, and build a small sample application that makes use of the GitHub API.

Daily Schedule

We've already held over 100 workshops holding thousands attendees in-person and online. In this time we've discovered ways to schedule the day so it goes smoothly and efficiently.

Regardless if you're in-person or participating with us online you'll have the full ability to replay things you missed, get your questions answered LIVE and interact with the teacher throughout the day.

Day 1

  • 9:30AM
    Tech Check and Hello
  • 10:00AM
    Introduction to Git Command Line Productivity Tools
  • 10:15AM
    Exercise
  • 10:30AM
    Staging Area
  • 10:45AM
    Exercise
  • 11:00AM
    Commits under the hood
  • 11:30AM
    Exercise
  • 11:45AM
    Branching, HEAD, and Fast-Forward Commits
  • 12:15PM
    Exercise
  • 12:30PM
    Don't Panic! Troubleshooting Common Mistakes
  • 12:50PM
    Exercise

Day 2

  • 1:00PM
    Lunch and Discussion
  • 2:00PM
    Forks and Remote Repositories
  • 2:20PM
    Exercise
  • 2:30PM
    Merging and Rebasing
  • 3:15PM
    Exercise
  • 3:30PM
    Diffs, History, Re-writing History
  • 4:00PM
    Advanced Tools - Bisecting, Searching, and more
  • 4:30PM
    Exercise
  • 4:45PM
    Customizations - .gitconfig, hooks, and aliases
  • 5:15PM
    GitHub and brief introduction to tools for Continuous Integration
  • 5:30PM
    Working with the Github API
  • 6:00PM
    Final Exercise
  • 6:30PM
    Additional Resources and Wrap-up
Expand...

Interact with the Instructor - Online & In-Person

Get Your Questions Answered • Code Along with the Class • Classroom Format

Is This Workshop for Me?

Summary

This workshop should not be considered an introduction - it is optimized for developers who already use git every day and who understand basic concepts like committing, branching, and forking.

Event Details

Free for EVERYONE

One Full Day Workshop Session

Replay Videos (available immediately)

When

October 6, 2017 - 9:30am to 5:30pm Central US Time

Where

Option 1: Attend online on our full HD live stream

Option 2: Attend in-person at HQ in Minneapolis, MN