Conflict resolution
Key takeaways
- You will understand how Git merges really work and why they fail
- You will gain an understanding of concurrent updates and different ways of modelling them
- You'll understand what your other data systems are doing for you to keep you safe from data loss
How is a Git branch like a database transaction? Git, like a database, is designed to let multiple clients concurrently edit a set of records -- the files in your project. Despite their apparent differences, they both solve a similar fundamental problem: with concurrent edits, how do you avoid two people unknowingly overwriting one another's updates? In this talk, we'll look at what happens during a Git merge, what causes conflicts to happen, and how Git prevents users in a distributed network from losing each other's changes. We'll learn how this relates to the broader theory of concurrent editing in distributed systems, providing a deeper understanding of many other data systems beyond version control.