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#

ComponentSupportedNotes and limitations
configβœ…
help🟠

Getting and Creating Databases#

ComponentSupportedNotes and limitations
initβœ…
cloneβœ…

Basic Snapshotting#

ComponentSupportedNotes and limitations
addβœ…
statusβœ…
commitβœ…
notes❌
restore❌
resetβœ…
rm🟠See dolt table rm
mv🟠See dolt table mv

Branching and Merging#

ComponentSupportedNotes and limitations
branchβœ…
checkoutβœ…
mergeβœ…
logβœ…
stashβœ…
tagβœ…
worktree❌
switch❌

Sharing and Updating Databases#

ComponentSupportedNotes and limitations
fetchβœ…
pullβœ…
pushβœ…
remoteβœ…

Inspection and Comparison#

ComponentSupportedNotes and limitations
show🟠not supported for merge commits or internal objects
diffβœ…
range-diff❌
shortlog❌

Patching#

ComponentSupportedNotes and limitations
cherry-pickβœ…
rebaseβœ…
revertβœ…

Debugging#

ComponentSupportedNotes and limitations
bisect❌
blameβœ…

Administration#

ComponentSupportedNotes and limitations
clean🟠does not completely match Git’s behavior
gcβœ…
fsckβœ…
reflogβœ…does not completely match Git’s behavior:
  • only supports named references (not Git’s special refs)
  • shows deleted refs
  • filter-branchβœ…

    Plumbing Commands#

    ComponentSupportedNotes 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 or contact us on discord.