Remotes
What is a remote?
A remote is a Dolt database in another location, usually on a different, network accessible host. A Dolt remote is the coordination mechanism between many local copies of Dolt. A Dolt database can have multiple remotes.
DoltHub is a hosted Dolt remote with an additional discovery and management user interface. DoltLab is a self-hosted version of DoltHub. Dolt also supports filesystem, HTTPS, AWS, and GCS remotes.
You configure a storage location as a remote. Once configured, you can perform Dolt's distributed operations using that remote: clone, fetch, push, and pull.
Clone creates a copy of remote database in your current directory. In the case of clone, the remote you cloned from is automatically configured as the origin
remote.
Fetch gathers all the changes made to the remote since you last fetched.
Push performs a merge of your current branch and the remote branch you are pushing to. It sends all the associated changed data and schema to the remote and updates the commit log to reflect the push.
Pull performs a fetch then a merge of the remote branch to your local branch. Essentially pull merges the changes on the remote branch into your local branch.
How to use remotes
A remote is the basis for all the distributed collaboration features of Dolt.
If you would like to make sure your local database can survive a destructive local operation, you create a remote on another machine and push your local Dolt database to it.
If you would like a Dolt database to be used by more than one person, you create and configure a remote and then push your local Dolt database to that remote. That person then can clone or pull the remote.
Difference between Git remotes and Dolt remotes
Dolt and Git remotes are conceptually the same. Practically, in Git you can set your own local Git directory up as a remote. In Dolt, this is not supported. You must configure a dedicated location for your Dolt remote.
Example
Last updated