Git Merge 2022: September 14 - 15

Morgan Manufacturing, Chicago, IL

One conference. All things Git.

Git Merge 2022 has ended. Hundreds of developers joined us for technical talks, hands-on workshops, and breakout discussions about Git—and the people who build the world’s technologies with it.

About

About Git Merge

Git Merge is dedicated to amplifying new voices in the Git community and showcasing the most thought-provoking projects from developers, maintainers, and teams around the world.

Git Merge 2022 was hosted at Morgan Manufacturing in Chicago, IL on September 14 - 15, 2022. Ticket proceeds were donated to the the Git Project at Software Freedom Conservancy.

Speakers

Speakers

  • Emily Shaffer headshot

    Emily Shaffer

    Tech Lead, git-core team, Google

    Emily Shaffer is a software engineer at Google working on Git; once upon a time, she co-maintained OpenBMC's IPMI stack. She's passionate about software best practices, regular expressions, and her dog, Crash Override.

    Session

    2:40pm | September 15

    An Improved Workflow for Submodules

    An overview of and update on Google's efforts to create an improved workflow with submodules, as announced on the mailing list in 2021.

  • Taylor Blau headshot

    Taylor Blau

    Staff Software Engineer, GitHub

    Taylor is a Staff Software Engineer at GitHub, where he works on Git. He is also a member of Git's Project Leadership Committee.

    Session

    10:00am | September 15

    Opening Remarks

    TBD

    3:50pm | September 15

    Git at GitHub Scale

    This talk will cover how and why GitHub uses Git to host and serve millions of repositories. We'll cover GitHub's fork of Git, our development model and merging strategy. We'll also cover what new features GitHub has used from the upstream community (like commit-graphs, partial clones, etc.) as well as features that GitHub has developed (like MIDX bitmaps, and cruft packs). We'll discuss each of these features in detail, covering their impact on GitHub, as well as the open-source project. We'll also discuss future directions, including more bitmap enhancements, the use of merge-ort at GitHub, and more.

  • Zhongpeng Lin headshot

    Zhongpeng Lin

    Software Engineer, Uber Technologies

    Zhongpeng Lin is a software engineer in Uber's developer platform team. He worked on different areas in improving developer experience for Go, including build system, dependency management, Git performance. He is also a maintainer for Bazel's rules_go and Gazelle projects.

    Session

    1:00pm | September 15

    Improving git status performance in Uber's Go monorepo

    As the size of Uber's Go monorepo grows, Git commands are getting slower and slower. We address the issue from two fronts:

    • Sparse checkout: we developed a tool that allow users to specify a list of directories that they need to change, the tool calls bazel query to discover all files in the repository needed to build projects in the given directories and checks out the directories and their dependencies. The tool maintains a private work tree to run Bazel queries and a work tree for each sparse checkout.
    • FS Monitor: we can share some git performance data without any fsmonitor, with Watchman, with daemon, on macOS vs on Linux for those who are not using sparse checkout

  • Derrick Stolee headshot

    Derrick Stolee

    Principal Software Engineer, GitHub

    Derrick Stolee is a 5-year Git contributor focusing on performance features at scale.

    Session

    5:20pm | September 15

    Git Internals: a Database Perspective

    The inner workings of Git's object database can be a mystery to most users. When you incorporate a database into your infrastructure, you are expected to learn about database internals such as table indexes, query plans, and sharding. Similar features exist in Git, and learning about them can advance your use of Git to the next level.

  • Christina Warren headshot

    Christina Warren

    Senior Developer Advocate, GitHub

    Christina is a Senior Developer Advocate at GitHub, where she focuses on video and breaking things (sometimes on purpose). Her second-favorite DVCS is Git.

    Session

    10:00am | September 15

    Opening Remarks

    TBD

  • Manuel Riezebosch headshot

    Manuel Riezebosch

    I come as an entertainer not a salesman. I want you to enjoy these ideas because I enjoy them. Manuel likes to be on the ball. You won’t find him busy with e-mailing or writing extensive documents or powerpoints. You’ll find him in an editor instead where he teaches by example and explains everything from working unit tests instead.

    Session

    4:50pm | September 15

    The 2 tools you need to trim down 1 humongous repository

    Part of Azure DevOps migrations often involves swapping out the underpinning source control. Build up history for over 20 years, including all kinds of binary file formats, make up a gigantic repository that is a pain to work with. I've had great success using filter-repo (and BFG before), git lfs, and a bit of excel to split, cleanup, reduce, remove and replace GBs of history into only a few 100 MBs tops. In this session, I will show my plan of approach. For everyone that likes to have clean and concise repositories.

  • Waleed Khan headshot

    Waleed Khan

    Software Engineer, Twitter

    I am a software engineer at Twitter who hates Git, which is why I have to spend so much time fixing it.

    Session

    1:15pm | September 15

    Build-aware sparse checkouts

    Twitter has developed a tool called focus which manages sparse checkouts as defined by targets in Bazel. By carefully defining the dependency model, we can precompute dependency queries such that users can create the sparse checkout without necessarily having to invoke Bazel first in a dense checkout.

  • Rizel Scarlett headshot

    Rizel Scarlett

    Junior Developer Advocate, GitHub

    Rizel is a Junior Developer Advocate at GitHub. She moonlights as the Advisor to Director of Programs at G{Code} House, an organization aimed at teaching women of color and non-binary people of color to code. Rizel believes in leveraging vulnerability, honesty, and kindness as means to educate early-career developers.

    Session

    11:45am | September 15

    Git driven debugging

    Developers often debate using print statements or the debugger to trace bugs within their code. But what if I were to tell you that you can use Git? In this lightning talk, we'll explore using Git to quickly identify and resolve bugs and regressions.

  • Daniel Pono Takamori headshot

    Daniel Pono Takamori

    Community Organizer, Software Freedom Conservancy

    Daniel Pono Takamori is the Community Organizer at Software Freedom Conservancy. He's been involved in FOSS for almost 20 years and worked for non-profit FOSS organizations for over a decade. While not at his computer he likes to play go, cook vegetables and ride his bike.

    Session

    10:15am | September 15

    Opening Remarks from Software Freedom Conservancy

  • Jacob Stopak headshot

    Jacob Stopak

    Founder, initialcommit.com

    Jacob Stopak is a software developer, version control enthusiast, and creator of initialcommit.com, a website dedicated to helping people learn to code and explore how popular programs like Git work under the hood.

    Session

    10:30am | September 15

    Learn How Git's Code Works

    This talk discusses the concepts and implementation of Git's very first revision (i.e. Git's initial commit), as published by Linus Torvalds in 2005. The talk explores the actual C code that Linus wrote in 2005 when he developed the initial commit of Git's codebase. Topics covered would be Git's original implementation of file compression, hash functions, Git objects (blobs, trees, commits), the current directory cache (staging area), the structure of Git's original C codebase (which amazingly is only 10 files and ~1000 lines of code), and a demo of Git's original set of commands.

  • Kedasha Kerr headshot

    Kedasha Kerr

    Developer Advocate, GitHub

    Kedasha is a Developer Advocate at GitHub. She also enjoys creating short-form video content on social media in hopes of encouraging more underrepresented folks to enter the industry.

    Session

    10:00am | September 15

    Opening Remarks

    TBD

  • Alex Sadleir headshot

    Alex Sadleir

    Source Control Lead, Canva

    Alex is Source Control Lead at Canva. He has worked on setting up open data portals across Australia, establishing DevOps capability for federal government and improving developer experience for Canvanauts.

    Session

    1:30pm | September 15

    500,000 files and counting - Git tooling for monorepos at Canva

    At Canva, we made the conscious decision to adopt the monorepo pattern with its benefits and drawbacks. Every week, hundreds of engineers work across half a million files generating close to a million lines of change (including generated files), tens of thousands of commits, and merging thousands of pull requests. We have developed some techniques and tooling to help us deliver Git at scale including a caching proxy for CI use and local git execution tracing via OpenTelemetry.

  • Elijah Newren headshot

    Elijah Newren

    Software Engineer, Palantir Technologies

    Elijah Newren currently works at Palantir Technologies where they used to let him pick his own title for business cards, and he couldn't come up with anything more creative than "Software Engineer". He was once upon a time heavily involved in the Gnome open source desktop community, is the creator of git-filter-repo, wrote the current default merge strategy in Git, and has contributed to various other random areas in Git. He is a proud member of the league of unadventerous eaters, and he and his wife have eight children.

    Session

    3:10pm | September 15

    (Git Merge)²

    Discussing improvements in "Git Merge" at "Git Merge", hence (Git Merge)². This talk will discuss recent improvements in the merging machinery, which actually extends to several commands besides "merge". It will include:

    • What new features have been enabled by the new merge backend
    • How a couple of the new optimizations involve trade-offs, and what the possible behavioral differences might mean for you
    • A brief story of my discovery process for finding the new optimizations added to the merge (and diff) machinery

  • Carlo Gilmar Padilla Santana headshot

    Carlo Gilmar Padilla Santana

    Software Engineer, Erlang Solutions

    I'm a software engineer at Erlang Solutions based on CDMX focused on Erlang y Elixir. I'm part of the GitHub Campus Expert program, and I'm the creator of Visual Partner-Ship, a creative studio to mix sociology, visual thinking and software development. I had the opportunity to draw visual representations of technical talks made in real time to keep the most important milestones for events like the Elixir Conf, the Octogatos Conf 2020, the Code BEAM, and Empex Conf Utah. My mission is to build learning bridges between technical knowledge and the emerging audiences through my visual style: connect worlds, connect ideas, and connect people.

    Session

    10:45am | September 15

    Git to empower your instinctive skills and your collaboration culture

    Although nowadays we need to use git to manage the version control in our code projects, we forget git is more than a tool to upload and share our code. During my journey as a developer I've seen how software projects evolve and grow in many ways: more code, more features, more people, more business rules, more complexity than any software project. I´d like to share my experience as a joiner in new projects who have to deal with this complexity for the beginning.

    If you only use git to commit your changes and allow it to integrate, you´re probably losing the opportunity to take advantage of all the things that you can do with git. When I used to teach git to young developers I say git is more than six commands, because it's about how you and your team are building software. So using git you´re able to discover all the collaborative dynamics in your current project.

    During this talk I’ll share how you can use git as the magnifier to learn not just about code, to learn about how your team is collaborating together, how to reconstruct parts of your project, understand how your team is building features, how git could gives you the answer to many questions for your team, I’ll share how it’s a powerful tool for new joiners, and how git could become you to a better team player.

  • Dan Kim headshot

    Dan Kim

    Software Engineer, Nuna

    Code with ❤️

    Session

    11:15am | September 15

    Git: a Love Story

    A git story is more than just your typical story. It is one that often centers around a hero. But we typically only see the end pull request: the story that the hero wants us to see. Before the rebase, the story is filled with struggles and stashes. Filled with time travel, love, and hate. All the elements that make for an epic tale. And today, we take a step back to marvel at the journey, not just the end result. As it is through the fire, our git skilled are sharpened.

  • Martin von Zweigbergk headshot

    Martin von Zweigbergk

    Software Engineer, Google

    I contributed to Git around 12 years ago and drove the adoption of Git at Ericsson. I'm now on a source control team at Google, where I have been working on adapting Mercurial to be used as a client to our internal monorepo. I am currently exploring designs for next-generation solutions.

    Session

    4:20pm | September 15

    Jujutsu: A Git-Compatible VCS

    Jujutsu (jj) can be used as an alternative CLI for Git repos, but it's much more than just a different CLI. It adds many new features, such as undo, anonymous branches, first-class conflicts (stored in commits), and automatic rebasing of descendants on rewrite. It also makes the working copy an actual commit (created automatically), leading to a simpler and more powerful UX than the staging area. The session is going to cover jj's design and features, and our plans for the project at Google.

  • Mike Neumegen headshot

    Mike Neumegen

    CEO and cofounder, CloudCannon

    Mike Neumegen is the CEO of CloudCannon, a git-based content management system for Jamstack websites. Mike grew up in New Zealand and studied Computer Science at Otago University.

    Session

    1:45pm | September 15

    How Git Can Power an Exciting Future for Content Management

    Git-based CMSs address the perceived technical barrier of using Git by providing simple interfaces to Git functionality for non-technical editors. In this session, we'll explore a new wave of content management systems that are built on top of Git.

  • Kyle Dumont headshot

    Kyle Dumont

    Co-Founder & CTO, AllSpice.io

    Kyle is an experienced electrical engineer with 10 years of experience launching mass-production consumer products. He holds a B.S. in Electrical Engineering from Northeastern and an M.S. in Engineering and an MBA from Harvard. Driven by his passion for innovation in hardware development and his big-picture mindset, Kyle co-founded AllSpice in 2019.

    Session

    2:10pm | September 15

    How Git is transforming the future of hardware development

    Many hardware teams are starting to leverage the power of git by piecing together disparate tools, but they’re still stuck in the past, especially when compared to software development. This session will cover the best practices hardware engineers have shared with us for adapting git workflows in hardware development.

  • Preston Martin headshot

    Preston Martin

    DevOps Engineer, GitHub

    Preston is a DevOps Engineer with GitHub’s Expert Services, where he helps companies around the world to Leverage GitHub as a platform for their day to day Development needs. He crafts solution from his vast DevOps and Git experience and keeps the developer community at heart when delivering those solutions. Along with his role at GitHub, Preston also is the co-moderator of DevOps StackExchange.

    Session

    Please see the schedule for workshop details.

  • Bryant Jimin Son headshot

    Bryant Jimin Son

    Solutions Engineer, GitHub

    Bryant Jimin Son is a Solution Architect at GitHub, where he is currently working with multiple clients to deliver and support GitHub products for customers. He has more than a decade of experience working in cloud, automation, and DevOps spaces from Red Hat, Citi, American Airlines, IBM, and Home Depot Austin Technology Center. His technical expertise is mostly focused on high-level IT architecture, especially around container, Kubernetes, DevOps and cloud computing fields, and his non-technical expertise includes project management, leading and mentoring others, teaching and presenting in front of medium/large audiences, and improving developer experience and creating wonderful culture for his team. He graduated from University of Texas at Austin with Aerospace Engineering, Computer Science, and Business degrees, and he has certifications in Red Hat Linux Administrator and Red Hat OpenShift.

    Session

    Please see the schedule for workshop details.

  • Andy Feller headshot

    Andy Feller

    DevOps Engineer, GitHub

    Andy is a DevOps Engineer with GitHub’s Expert Services, which partners with companies around the world to redefine how we build from here. He works to pair deep technical knowledge of GitHub products and services with customer needs to deliver developer-first experiences.

    Session

    Please see the schedule for workshop details.

  • David Bernadett headshot

    David Bernadett

    Software Engineer, Twitter

    Session

    1:15pm | September 15

    Build-aware sparse checkouts

    Twitter has developed a tool called focus which manages sparse checkouts as defined by targets in Bazel. By carefully defining the dependency model, we can precompute dependency queries such that users can create the sparse checkout without necessarily having to invoke Bazel first in a dense checkout.

Schedule

Schedule

Sep 14 - workshops (optional)

Mainstage

Gathering Hall

1pm

Registration

Sep 15 - main sessions

Mainstage

Gathering Hall

9:00am

Registration ✏️ & Breakfast 🍩

10:45am

Git to empower your instinctive skills and your collaboration culture

Git to empower your instinctive skills and your collaboration culture

September 15 | 10:45am

Although nowadays we need to use git to manage the version control in our code projects, we forget git is more than a tool to upload and share our code. During my journey as a developer I've seen how software projects evolve and grow in many ways: more code, more features, more people, more business rules, more complexity than any software project. I´d like to share my experience as a joiner in new projects who have to deal with this complexity for the beginning.

If you only use git to commit your changes and allow it to integrate, you´re probably losing the opportunity to take advantage of all the things that you can do with git. When I used to teach git to young developers I say git is more than six commands, because it's about how you and your team are building software. So using git you´re able to discover all the collaborative dynamics in your current project.

During this talk I’ll share how you can use git as the magnifier to learn not just about code, to learn about how your team is collaborating together, how to reconstruct parts of your project, understand how your team is building features, how git could gives you the answer to many questions for your team, I’ll share how it’s a powerful tool for new joiners, and how git could become you to a better team player.

Speaker: Carlo Gilmar Padilla Santana

Software Engineer, Erlang Solutions

I'm a software engineer at Erlang Solutions based on CDMX focused on Erlang y Elixir. I'm part of the GitHub Campus Expert program, and I'm the creator of Visual Partner-Ship, a creative studio to mix sociology, visual thinking and software development. I had the opportunity to draw visual representations of technical talks made in real time to keep the most important milestones for events like the Elixir Conf, the Octogatos Conf 2020, the Code BEAM, and Empex Conf Utah. My mission is to build learning bridges between technical knowledge and the emerging audiences through my visual style: connect worlds, connect ideas, and connect people.

Carlo Gilmar Padilla Santana headshot

Carlo Gilmar Padilla Santana, Erlang Solutions

12:00pm

Lunch 🍔 🥗 🍕

2:00pm

Break ☕️

3:40pm

Break ☕️

5:50pm

Reception @ Morgan Mfg

Experience

Experience

01

Getting to Git Merge

Travel tips for every leg of your trip.

Where:
Morgan Manufacturing, Chicago

When:
September 14 - 15, 2022

By plane:
We recommend flying into O'Hare International Airport (15 miles away from the venue) or Chicago Midway International Airport (11 miles away from the venue).

By car:
Public parking lots are available near the venue at your own cost. You’ll also find a variety of ridesharing and rental car services in the Chicago area.

By public transport:
The venue is walking distance from the Grand subway station.

You’ll find lots of hotels and AirBnBs near the venue.

02

Closing Reception

Where:
Morgan Manufacturing, Chicago

When:
Sep 15, 2022 6pm - 8pm

We’ll be closing out the day with a reception. Unwind from the day, meet more attendees, and enjoy a cocktail or two.

03

Beyond Git Merge

Looking for more to do while you’re in town? Join nearby events hosted by our sponsors. More details coming soon.

FAQ

FAQ

Are masks required for attendees?
Masks are required for all attendees.
Are COVID vaccinations required to attend the event?
All attendees must be vaccinated.
Where can I find real-time updates on COVID-19?
CDC is providing global travel restriction updates and guidance here. Both the CDC and WHO have pulled together recommendations for the public to take care of themselves and protect others.
Do you provide breakfast and lunch?
A light breakfast, full lunch, and snacks will be served with vegetarian, vegan, dairy-free, and gluten-free options.
We provide vegetarian, vegan, dairy-free, and gluten-free options.
Venue Quesitons
Help Desk
Partners