Workshop: GIT Master Class by Github




1:00pm - 4:00pm

Key takeaways

Learn Git commands to enable advanced patterns and workflows

Learn how to rewrite Git history and when it’s appropriate to do so

Demystify Git operations under the hood

Learn to recover from confusing situations


  • Participants should have a basic understanding of Git and be comfortable with some common operations: staging changes, creating commits, creating new branches, and merging branches into other branches.
  • Participants should bring a laptop with Git v2.6.0 or higher installed and working.

Git is a powerful tool, but few people take advantage of all its capabilities, and much of its functionality can feel like an inscrutable black box.

In this hands-on workshop, I’ll work through various Git commands and talk about more advanced workflow practices, including merge options, searching through commits, and rewriting repository history. I’ll talk about the contents of the .git folder, the data structures constructed from those files, and the abstractions Git applies on top of those data structures. We’ll utilize visualizations to watch what happens in the repository when you perform certain Git operations, with the goal of unraveling those abstractions and demystifying what Git’s actually doing under the hood.

Finally, we’ll explore a variety of tools at your disposal that you can use when you get stuck; learn how to get back to a known good state and find lost commits with ease.

Speaker: Katrina Uychaco

Software Engineer @GitHub

Katrina is a software engineer at GitHub, where she works on Atom, GitHub’s free and open source text editor. Formerly a medical device engineer, Katrina found her passion in building software — specifically building awesome software to better facilitate building more awesome software. She’s a lover of elegant abstractions, all things meta, and tools and tricks that improve the development process. When Katrina’s not using Atom to hack on Atom, she’s often working to empower other engineers through teaching, mentoring, or organizing events for Bay Area women in tech.

Find Katrina Uychaco at



  • Architectures You've Always Wondered About

    Architectural practices from the world's most well-known properties, featuring startups, massive scale, evolving architectures, and software tools used by nearly all of us.

  • Going Serverless

    Learn about the state of Serverless & how to successfully leverage it! Lessons learned in the track hit on security, scalability, IoT, and offer warnings to watch out for.

  • Microservices: Patterns and Practices

    Stories of success and failure building modern Microservices, including event sourcing, reactive, decomposition, & more.

  • DevOps: You Build It, You Run It

    Pushing DevOps beyond adoption into cultural change. Hear about designing resilience, managing alerting, CI/CD lessons, & security. Features lessons from open source, Linkedin, Netflix, Financial Times, & more. 

  • The Art of Chaos Engineering

    Failure is going to happen - Are you ready? Chaos engineering is an emerging discipline - What is the state of the art?

  • The Whole Engineer

    Success as an engineer is more than writing code. Hear inward looking thoughts on inclusion, attitude, leadership, remote working, and not becoming the brilliant jerk.

  • Evolving Java

    Java continues to evolve & change. Track covers Spring 5, async, Kotlin, serverless, the 6-month cadence plans, & AI/ML use cases.

  • Security: Attacking and Defending

    Offense and defensive security evolution that application developers should know about including SGX Enclaves, effects of AI, software exploitation techniques, & crowd defense

  • The Practice & Frontiers of AI

    Learn about machine learning in practice and on the horizon. Learn about ML at Quora, Uber's Michelangelo, ML workflow with Netflix Meson and topics on Bots, Conversational interfaces, automation, and deployment practices in the space.

  • 21st Century Languages

    Compile to Native, Microservices, Machine learning... tailor-made languages solving modern challenges, featuring use cases around Go, Rust, C#, and Elm.

  • Modern CS in the Real World

    Applied trends in Computer Science that are likely to affect Software Engineers today. Topics include category theory, crypto, CRDT's, logic-based automated reasoning, and more.

  • Stream Processing In The Modern Age

    Compelling applications of stream processing using Flink, Beam, Spark, Strymon & recent advances in the field, including Custom Windowing, Stateful Streaming, SQL over Streams.