LogoLogo
DoltHubBlogDiscordGitHubDolt
  • Introduction
    • What Is Dolt?
    • Installation
      • Linux
      • Windows
      • Mac
      • Build from Source
      • Application Server
      • Docker
      • Upgrading
    • Getting Started
      • Version Controlled Database
      • Git For Data
      • Versioned MySQL Replica
    • Use Cases
      • Data Sharing
      • Data and Model Quality Control
      • Manual Data Curation
      • Version Control for your Application
      • Versioned MySQL Replica
      • Audit
      • Configuration Management
      • Offline First
  • Concepts
    • Dolt
      • Git
        • Commits
        • Log
        • Diff
        • Branch
        • Merge
        • Conflicts
        • Remotes
        • Working Set
      • SQL
        • Databases
        • Schema
        • Tables
        • Primary Keys
        • Types
        • Indexes
        • Views
        • Constraints
        • Triggers
        • Procedures
        • Users/Grants
        • Transactions
        • System Variables
      • RDBMS
        • Server
        • Backups
        • Replication
    • DoltHub/DoltLab
      • Permissions
      • Pull Requests
      • Issues
      • Forks
  • SQL Reference
    • Running the Server
      • Configuration
      • Access Management
      • Branch Permissions
      • Backups
      • Garbage Collection
      • Metrics
      • Replication
      • Troubleshooting
    • Version Control Features
      • Using Branches
      • Merges
      • Querying History
      • Using Remotes
      • Procedures
      • Functions
      • System Tables
      • System Variables
      • Saved Queries
    • SQL Language Support
      • Data Description
      • Expressions, Functions, Operators
      • Supported Statements
      • MySQL Information Schema
      • Collations and Character Sets
      • System Variables
      • Miscellaneous
    • Supported Clients
      • Programmatic
      • SQL Editors
    • Benchmarks and Metrics
      • Correctness
      • Latency
      • Import
  • CLI Reference
    • Commands
    • Git Comparison
  • Architecture
    • Overview
    • Storage Engine
      • Commit Graph
      • Prolly Trees
      • Block Store
    • SQL
      • Go MySQL Server
      • Vitess
  • Guides
    • Cheat Sheet
    • Contributing
      • dolt
      • go-mysql-server
    • MySQL to Dolt Replication
    • Importing Data
    • Integrations
  • Other
    • FAQ
    • Roadmap
    • Versioning
  • Products
    • Hosted Dolt
      • Getting Started
      • Notable Features
      • SQL Workbench
      • Cloning a Hosted Database
      • Using DoltHub as a Remote
      • Infrastructure
    • DoltHub
      • Data Sharing
      • API
        • Authentication
        • SQL
        • CSV
        • Database
        • Hooks
      • Continuous Integration
        • Getting Started
        • Workflow Reference
      • Transform File Uploads
      • Workspaces
    • DoltLab
    • Dolt Workbench
    • DoltgreSQL
Powered by GitBook
On this page
  • What is a fork?
  • How to use forks
  • Difference between GitHub forks and DoltHub forks
  • Example

Was this helpful?

Edit on GitHub
Export as PDF
  1. Concepts
  2. DoltHub/DoltLab

Forks

PreviousIssuesNextRunning the Server

Last updated 1 year ago

Was this helpful?

What is a fork?

A fork is a copy of a database. The fork model exists so that you control who can modify your data, and determine what data gets merged. You can continue to pull changes from the database that you forked from, and you can submit back to it. You can use it as a tool to get your changes onto a database, or you can use it to take that database in a different direction.

How to use forks

Forks on DoltHub are useful in two main ways:

  1. You can propose changes to a database you don't have write permissions to

  2. You can experiment with or adopt someone else's database for your own use case without making changes to the original data

You can create a fork, making changes to your fork, and then submit a in the original database.

Difference between GitHub forks and DoltHub forks

GitHub forks are very similar to DoltHub forks in both purpose and practice.

Example

You can use the fork button on the top right of any database to fork the database to your own namespace. We will use our as an example.

There is now a fork of us-schools in our namespace called taylor/us-schools. We can either edit directly on DoltHub or clone and edit using Dolt.

% dolt clone taylor/us-schools
cloning https://doltremoteapi.dolthub.com/taylor/us-schools
141,350 of 141,350 chunks complete. 0 chunks being downloaded currently.

Select your fork as the "From database" and select a branch and title.

The owner of the base database (in this case dolthub) can then request any changes in your pull request and merge if they approve the request.

You can also update your fork with the latest changes from the upstream database using the pull request form in your own database.

If you forked a database to do your own experimenting, your work here is done. However, if you'd like to propose changes to the base database, you can create a by navigating to dolthub/us-schools and clicking one of the new pull request buttons.

pull request
pull requests
pull request
us-schools database