• KubeRoot
      link
      fedilink
      English
      11 hour ago

      Fundamentally, the repository you have on GitHub is the same thing as the repository you have on your computer when you clone it. Pulling and pushing are shorthands for synchronizing commits between the two repositories, but you could also synchronize them directly with somebody else who cloned the repository. As somebody mentioned, you can also just host the same repository on two servers, and push to both of them.

      The issue is that git doesn’t include convenient features like issues, pull requests, CI, wikis, etc., and by extensions, those aren’t included in your local repository, so if GitHub takes them down, you don’t have a copy.

      An extra fun fact is that git can be considered a blockchain. It’s a distributed ledger of immutable commits, each one representing a change in state relative to the previous one. Everybody who clones a repository gets a copy of its entire history and fast forwards through the changes to calculate the current state.

    • @expr@programming.dev
      link
      fedilink
      English
      46 hours ago

      Changes can come from anywhere. The Linux kernel itself doesn’t use any central repository like Github, it’s instead done via emailing patches that are eventually merged into the mainline kernel repository managed by Linus.

      It is 100% decentralized.