# Version Control Features

Unlike other relational databases, Dolt has multiple branches and stores all data in a commit graph, like git. This makes it possible to efficiently diff any two commits, as well as merge one branch into another. All the git-like version control functionality available on the Dolt CLI is available in the SQL server as well, exposed as system tables, system variables, functions, and stored procedures.

## Version control overview

* [Using Branches](/sql-reference/version-control/branches.md) explains how to work with different branches in a running server.
* [Merges](/sql-reference/version-control/merges.md) explains how to merge branches into one another and resolve merge conflicts using SQL.
* [Querying History](/sql-reference/version-control/querying-history.md) describes how to query past revisions or different branches of a database.
* [Using Remotes](/sql-reference/version-control/remotes.md) describes how to use remotes to coordinate between Dolt clones.
* [Stored procedures](/sql-reference/version-control/dolt-sql-procedures.md) documents all the stored procedures that implement version control operations such as `DOLT_COMMIT`, `DOLT_CHECKOUT`, `DOLT_MERGE`, etc.
* [Functions](/sql-reference/version-control/dolt-sql-functions.md) documents Dolt-provided functions that aren't part of standard MySQL, including table functions that produce diffs of any table at two points in its history.
* [System tables](/sql-reference/version-control/dolt-system-tables.md) describes the system tables that provide read access to version control information, such as branches, commit log, diffs, and conflicts.
* [System variables](/sql-reference/version-control/dolt-sysvars.md) documents all the Dolt-provided system variables that expose and control various aspects of Dolt's behavior.
* [Saved Queries](/sql-reference/version-control/saved-queries.md) documents a Dolt feature to save queries for later execution.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dolthub.com/sql-reference/version-control.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
