Essential Git for Scientists
  • Introduction
  • Basic Concepts
    • Version Control
    • Git
    • Repo
    • Commits
    • Branches
    • Remotes
    • GitHub
    • De-centralisation
    • Summary
  • Basic Operations
    • Install Git
    • Create a Repo
    • Make a Commit
    • Inspect a Previous Commit
    • Revert a Change
    • Make a Branch
    • Extend a Branch
    • Fast-forward merge
    • Resolve conflicts
  • Intermediate Concepts
    • Commits
    • Three Trees
    • Rebase
    • Fetch
    • Pull
    • Push
  • Advanced Concepts
    • Reset
    • Interactive rebase
    • Formatted patches
    • Blame
    • Stash
    • Log filter
  • Cookbook
    • Undo
    • Branches
    • Diff
    • Stash
    • Merge
    • Hooks
    • Squashing
    • Rebase
    • Interactive Rebase
    • LFS
    • Submodules
    • Remote
    • Force push
    • Identify merged branches
    • Formated patches
    • Apply patches
    • Interactive rebase
    • Squash commits
    • Pull rebase
    • Log
    • Blame
    • Biset
    • Reset
  • Exercise
    • Exercise 1
    • Exercise 2
Powered by GitBook
On this page
  1. Basic Concepts

De-centralisation

Prior to Git there are other popular SCM tools such as Subversion. Subversion is a centralised SCM tool where there's a central repo and other repos will sync with it. The central repo is the conanical repo that represents the true copy. It's an effective design but the entire project relies on the healthiness of the central repo.

What makes Git special is the distributed design. Git doesn't have a centralised repo. In other words, every repo is equal. The centralised pattern becomes one of many possible setups in Git.

In practice, many project still follows the centralised paradigm. The development takes place at the local, with GitHub used as a central repo. However, this is by choice and you can adopt other topological configurations for repos.

PreviousGitHubNextSummary

Last updated 1 year ago