• Eiim@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    6
    arrow-down
    14
    ·
    6 months ago

    Git is not a blockchain. Most importantly, it’s not distributed. There’s a singular git server that all git clients for that repository connect to and use as a source of truth.

    • Windex007@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      6 months ago

      I agree it’s not a blockchain, (although it has chain properties) but it is kinda decentralized. By convention projects almost exclusively have a single remote, and by convention that single remote is treated as an ultimate source-of-truth… But you can absolutely have the same repo with multiple remotes defined, and one could establish different schemes to determine which branches on which remotes represent what in terms of “truth”.

      • xthexder@l.sw0.com
        link
        fedilink
        arrow-up
        2
        ·
        6 months ago

        I’ve pulled code branches between my computers without publishing to an external server plenty of times. It’s a really useful feature to be able to keep stuff in sync with a version history.

    • breakingcups@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      6 months ago

      That is patently false. It was developed to help develop the Linux kernel, which famously has multiple decentralized repositories managed by different maintainers.

      The fact that most companies use it in a way you describe, with only one central repository, does not mean that git is not distributed.

    • perishthethought@lemm.ee
      link
      fedilink
      English
      arrow-up
      5
      ·
      6 months ago

      https://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows

      In contrast with Centralized Version Control Systems (CVCSs), the distributed nature of Git allows you to be far more flexible in how developers collaborate on projects. In centralized systems, every developer is a node working more or less equally with a central hub. In Git, however, every developer is potentially both a node and a hub; that is, every developer can both contribute code to other repositories and maintain a public repository on which others can base their work and which they can contribute to.

      • _MusicJunkie@beehaw.org
        link
        fedilink
        arrow-up
        1
        arrow-down
        4
        ·
        6 months ago

        For each project there is one authoritative instance, one “server” that everyone pushes to. Otherwise you get chaos.

        • Asyx@lemmy.ml
          link
          fedilink
          arrow-up
          7
          ·
          6 months ago

          That’s not a git thing though. You can totally have multiple remotes and the remotes are just git repositories themselves. Git is 100% decentralized. There is technically nothing stopping you from having multiple remotes.

        • perishthethought@lemm.ee
          link
          fedilink
          English
          arrow-up
          6
          arrow-down
          1
          ·
          6 months ago

          That may be how you use it, but that’s not backed into git. See my previous response. There’s a bunch of FUD in this thread for some reason.

          • Thann@lemmy.ml
            link
            fedilink
            English
            arrow-up
            1
            ·
            6 months ago

            People want simple answers, and “blockchain bad” seems to satisfy many

        • Thann@lemmy.ml
          link
          fedilink
          English
          arrow-up
          3
          ·
          6 months ago

          And nobody ever forked a project, and lived happily ever after, then end.

          • _MusicJunkie@beehaw.org
            link
            fedilink
            arrow-up
            1
            arrow-down
            1
            ·
            6 months ago

            If you want to work with the original project, you have to push to the server that controls the original project.

            • Thann@lemmy.ml
              link
              fedilink
              English
              arrow-up
              3
              ·
              6 months ago

              No you don’t, you can just fork it, add a commit, and walk away, and everyone can decide which one they want to clone