explaingit

dolthub/dolt

📈 Trending22,746GoAudience · developerComplexity · 3/5ActiveLicenseSetup · hard

TLDR

A SQL database with Git-like version control. Track changes, create branches, merge edits, and revert to earlier states, all with familiar Git commands.

Mindmap

mindmap
  root((Dolt))
    What it does
      SQL database
      Git-style version control
      Change history tracking
      Branch and merge support
    Key features
      MySQL compatible
      Command-line interface
      SQL built-in functions
      Remote push and pull
    Use cases
      Audit trails
      Team collaboration
      Safe experimentation
      Data versioning
    Tech stack
      Go
      SQL
      MySQL protocol
    Audience
      Data teams
      Developers
      Analysts

Things people build with this

USE CASE 1

Build an audit trail for regulated data by tracking every change with timestamps and authorship.

USE CASE 2

Collaborate on shared datasets as a team, merging edits and resolving conflicts like you would with code.

USE CASE 3

Test schema changes or data migrations on a branch before applying them to production.

USE CASE 4

Push your database to DoltHub to share datasets publicly or privately with colleagues.

Tech stack

GoSQLMySQL

Getting it running

Difficulty · hard Time to first run · 1h+

Requires building from Go source, setting up MySQL, and understanding both Git workflows and SQL semantics together.

Apache 2.0, use freely for any purpose, including commercial, as long as you include the license and copyright notice.

In plain English

Dolt is a SQL database that works like Git. If you have used Git to track changes to code, creating branches, committing saves, merging work from teammates, or reverting to an earlier state, Dolt brings all of those same concepts to database tables. The practical benefit: with a regular database, when data changes, the old version is gone. With Dolt, every change is recorded in a history. You can look at what the data looked like last Tuesday, create an experimental branch to try out changes without affecting the main database, merge two people's edits together, or push your database to a remote server for others to pull. The command-line interface mirrors Git so closely that if you know Git commands, you already know most of how to use Dolt. You connect to it just like a MySQL database using standard SQL queries, so existing tools and applications that work with MySQL will work with Dolt too. Version control features are also accessible from within SQL itself using special built-in functions and tables. The team behind Dolt also runs DoltHub, a public hosting platform for shared databases, similar in spirit to what GitHub is for code. You would use Dolt when your data needs a full audit trail, when teams collaborate on datasets and need to manage conflicts, or when you want to experiment with database changes safely on a branch before committing them. It is written in Go.

Copy-paste prompts

Prompt 1
Show me how to initialize a Dolt database and make my first commit with sample data.
Prompt 2
How do I create a branch in Dolt to test a schema change without affecting the main database?
Prompt 3
Write a SQL query that shows me the full history of changes to a specific table in Dolt.
Prompt 4
How do I merge two branches in Dolt and resolve conflicts if the same row was edited differently?
Prompt 5
Set up a Dolt database that I can push to DoltHub so my team can pull and collaborate on it.
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.