Stage Files
Add files to a repository withoxen add. This copies the filesβ contents to the repositoryβs version store and stages the changes for commit. You can use absolute paths or paths relative to the repo root.
.oxenignore.
oxen add handles new, modified, and removed files and directories.
Oxen lets you version any data type β text, images, audio, video, parquet, etc. β in the same repository, and you interact with all of them through the same commands. Under the hood, Oxen stores type-specific file metadata to power richer features.
View Status
To see what is tracked, staged, modified, removed, or not yet added, useoxen status.
status rolls up directory-level changes and summarizes them.
You can paginate through staged files with the -s (skip) and -l (limit) flags. Run oxen status --help for the full list.
Commit Changes
Once changes are staged, commit them with a message.main branch.
After a commit, a copy of each fileβs contents lives in the repositoryβs version store (by default .oxen/versions/files). File and directory metadata are stored in the Merkle Tree, which mirrors the working directory structure.
View History
Show the commit history of your current branch withoxen log.
View Diffs
Oxen can compute and display diffs between files using the oxen diff command.dataset.csv in the working directory with its version in the HEAD commit. You can also diff different files against each other, files across revisions, or whole revisions against each other. See the diff concepts page for the full set of options.
View File Contents
To print the raw bytes of a file as they exist at a revision, useoxen cat. The contents are written to stdout, so you can pipe them into another tool or redirect them to a file without restoring the file into your working directory.
oxen cat reads from HEAD. Pass --revision (or -r) to read the file as it existed at a specific branch or commit.
oxen cat streams the exact stored bytes, so it works on any file type, including binary data. Pipe the output into another tool rather than printing binary straight to your terminal, which can garble it.
oxen cat β use oxen info. Pass --revision (or -r) to describe the file as it existed at a specific branch or commit, and --json for machine-readable output. Without --revision, oxen info describes the file in your working tree.
Restore Files
To revert changes youβve made to a file in the working directory, useoxen restore. This restores the file to its version in the HEAD commit, and works on both modified and deleted files.
oxen restore will recursively restore the files inside.
To restore from a specific commit or branch, pass --source.
--staged.
Remove Files
To stage a file to be removed from the next commit, useoxen rm.
rm command.
To recursively remove a directory, use the -r flag.
--staged.