Why is it people are using git in such a strange centralized way, like the way github works...

Why is it people are using git in such a strange centralized way, like the way github works, instead of a more decentralized fashion?

When i look at the workflow in many software projects, i often see people using it like the very thing git was meant to replace, like svn. Often pulling and pushing to and from a central one-truth repository.

Are people just retarded? Or have I just completely misunderstood something about git?

Attached: [email protected] (220x92, 4K)

How does one make git decentralized anyway?
Maybe you're retarded

because git is built to be used however a project needs and what most projects happen to need is centralized development

Use it peer 2 peer between developers

Huh, of course you will generally want one authoritative branch for your project's releases.

Git's advantage is mainly that you can have many local branches that may not even be pushed somewhere else plus that it is fast and good.

>have I just completely misunderstood something about git?

Yes, git is about being able to work with a complete "check-out" of the source code at all time.

You don't really *need* a central repository, but then for N developers you'd need N*(N-1) merges (everyone merging their local version with the version they pull from everyone else) and every dev has to be on-line until all the other devs have done their merging.

With a central repo, you only need N merges for N developers.

But wouldn't it make more sense if you had a tree of people pulling from each other, kinda like they do with the Linux kernel? I can see it work a lot better than the centralized model

You mean push and pull to all the developers?
Won't that just cause conflicts and is just too much work to do compared to pushing and pulling to one centralized server?

But everyone doesn't have to pull from everyone else, just a handful of people maybe even less. It would seem more natural, wouldn't it?

Nobody knows how to use git.

I guess you could make it work, but then, not everyone is up to date with the latest commit.
I think it's a lot easier to test if everyone's just updated with the latest commit.

No. Why the hell would that work better for normal projects?

If you don't have thousands of developers and stuff you do not need multiple additional layers of people filtering and testing the code.

No, because everyone would have to do merge conflict resolutions by themselves, and these would have to be identical (which they won't be). So now you have as many forks as you have devs.

It *can* work as long as everyone stays on one particular section of the code, or you have a well-established order of merging, but that kind of defeats the entire point then.

wow a solution that is robust, scalable, flexible, USABLE, modular, manageable, and blockchainable. I would love to see something like this percolate in the pipeline

convenience

>have I just completely misunderstood something about git?
Yes.

1. Even when people are using github, their scm is still decentralized in that it exists in more than one place. The github repo just serves a special purpose in the graph.
2. git is flexible, and can be used properly in many different ways. Operating based on a centralized model or everybody being a complete peer in terms of responsibility are both valid git methodologies. Git is a tool that does certain things in a very flexible way, and how best to use it is left up to the user.

I fucking hate github. Downloading the source is always a pain and then the idiots forget to put the configure file in. Oh, and yall need to stop renaming everything to a .me extension.

What did they mean by this?

too many brainlets afraid they're gonna break everything
If everyone is going to use Git in a centralized way like this wouldn't it be better to switch to something designed for centralized version control?

People are retarded and things are hard.

t. brainlet

Git is decentralized. Everyone who clones/pulls a project has all the code and the history. If the central repo is fucked then it is possible to restore it from any cloned copy. Central repo is just a point of synchronization. The only difference between a repo and a local copy is that a repo has no work directory it only has the history.