Skip to main content
Once your repository has a remote configured (see Start a Repository), you can push your work and pull collaborators’ changes.

Push Changes

Once you’ve committed changes locally, push them to a remote with oxen push.
If you don’t supply a remote name or branch, they default to origin and the current branch.

Resume a Push

If a push is cancelled partway through, use --missing-files to resume and upload only the files the remote is missing.
This is a fast repair. It uploads content the remote doesn’t have, but it does not detect corrupted files. To find and fix corruption too, use --revalidate.

Revalidate a Remote

--revalidate runs a full integrity check on the remote. It removes corrupted files from the remote and then pushes all missing files. This is the right option to use if you suspect there are any corrupted files on the remote.

Pull Changes

To pull the latest commits for a branch β€” downloading their files and Merkle trees, then checking out the latest commit β€” use oxen pull.
If no arguments are provided, the remote defaults to origin and the branch defaults to the current branch.
As with clone, you can pull all branches with --all.

Fetch Changes

To fetch the latest changes without checking them out in the working directory, use oxen fetch.
This is useful when you want to inspect what’s new on the remote before deciding whether to merge or check it out.

View Configured Remotes

oxen remote lists the remotes configured for your repository.
Output:
Use --verbose to also see each remote’s URL.
Output:
To add or change a remote’s URL, see Configure a Remote on the Start a Repository page.