# Git Comparison

We aim to match our CLI command behavior as closely to their Git equivalent as possible. This page lists the commands that are currently supported, and any known limitations.

### Setup and Config

| Component | Supported | Notes and limitations |
| --------- | --------- | --------------------- |
| `config`  | ✅         |                       |
| `help`    | 🟠        |                       |

### Getting and Creating Databases

| Component | Supported | Notes and limitations |
| --------- | --------- | --------------------- |
| `init`    | ✅         |                       |
| `clone`   | ✅         |                       |

### Basic Snapshotting

| Component | Supported | Notes and limitations                                    |
| --------- | --------- | -------------------------------------------------------- |
| `add`     | ✅         |                                                          |
| `status`  | ✅         |                                                          |
| `commit`  | ✅         |                                                          |
| `notes`   | ❌         |                                                          |
| `restore` | ❌         |                                                          |
| `reset`   | ✅         |                                                          |
| `rm`      | 🟠        | See [dolt table rm](/cli-reference/cli.md#dolt-table-rm) |
| `mv`      | 🟠        | See [dolt table mv](/cli-reference/cli.md#dolt-table-mv) |

### Branching and Merging

| Component  | Supported | Notes and limitations |
| ---------- | --------- | --------------------- |
| `branch`   | ✅         |                       |
| `checkout` | ✅         |                       |
| `merge`    | ✅         |                       |
| `log`      | ✅         |                       |
| `stash`    | ✅         |                       |
| `tag`      | ✅         |                       |
| `worktree` | ❌         |                       |
| `switch`   | ❌         |                       |

### Sharing and Updating Databases

| Component | Supported | Notes and limitations |
| --------- | --------- | --------------------- |
| `fetch`   | ✅         |                       |
| `pull`    | ✅         |                       |
| `push`    | ✅         |                       |
| `remote`  | ✅         |                       |

### Inspection and Comparison

| Component    | Supported | Notes and limitations                               |
| ------------ | --------- | --------------------------------------------------- |
| `show`       | 🟠        | not supported for merge commits or internal objects |
| `diff`       | ✅         |                                                     |
| `range-diff` | ❌         |                                                     |
| `shortlog`   | ❌         |                                                     |

### Patching

| Component     | Supported | Notes and limitations |
| ------------- | --------- | --------------------- |
| `cherry-pick` | ✅         |                       |
| `rebase`      | ✅         |                       |
| `revert`      | ✅         |                       |

### Debugging

| Component | Supported | Notes and limitations |
| --------- | --------- | --------------------- |
| `bisect`  | ❌         |                       |
| `blame`   | ✅         |                       |

### Administration

| Component       | Supported | Notes and limitations                                                                                                                                                                                                       |
| --------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `clean`         | 🟠        | [does not completely match Git's behavior](https://github.com/dolthub/dolt/issues/6313)                                                                                                                                     |
| `gc`            | ✅         |                                                                                                                                                                                                                             |
| `fsck`          | ✅         |                                                                                                                                                                                                                             |
| `reflog`        | ✅         | <p><a href="https://www.dolthub.com/blog/2023-11-17-dolt-reflog/">does not completely match Git's behavior</a>:<br></p><ul><li>only supports named references (not Git's special refs)</li><li>shows deleted refs</li></ul> |
| `filter-branch` | ✅         |                                                                                                                                                                                                                             |

### Plumbing Commands

| Component      | Supported | Notes and limitations |
| -------------- | --------- | --------------------- |
| `check-ignore` | ❌         |                       |
| `ls`           | ✅         |                       |
| `merge-base`   | ✅         |                       |
| `rev-list`     | ❌         |                       |
| `rev-parse`    | ❌         |                       |
| `name-rev`     | ❌         |                       |
| `show-ref`     | ❌         |                       |
| `update-ref`   | ❌         |                       |

If you are interested in a command that is currently unsupported, please [open an issue](https://github.com/dolthub/dolt/issues) or contact us on [discord](https://discord.gg/8qyCyRfh).


---

# 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/cli-reference/git-comparison.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.
