Totally agree with the OP's feelings about git except one small nitpick, for me push and pull are opposites seen as how i use them, so it feels intuitive enough. Except for the wording of pull request, which IMO concerns the point OP made about decentralisation.<p>i fully agree that we could take more advantage of the effectively centralized nature git is mostly used.<p>personally, i don't love using git, but i do love the advantages it brings, even for the smallest problems. it's pretty much an all in one backup and sync solution too in my workflow, so i'm using it for my whole system configuration and user dir too, even tried using it for my addressbook and calendar with xandikos (baikal ended up working better for me though).<p>it's just very unfriendly to use at times, and there's reasons the "meme" about copying out your changes, deleting the whole repo, and pulling again is actually a common thing to do.<p>like, it's easy to add everything with "git add .". But you realize one file doesn't belong in the commit, what do you do? git remove doesn't exist. git rm isn't it either. git unstage? nope. it's git restore --staged, but ... i don't want to restore anything? sure, the git version i'm currently using dislpays this every time i run git status, but... the whole fact that this needs to be displayed like this should tell you a lot already.<p>agreed that there is an unmet need for a version control that does the 99% of usecases in user-friendly ways.<p>edit: while we're at it, let's also ensure the next system we use makes it even harder to lose data. accidentally deleting a file that hasn't been added in git can happen, and i'd like my version control system to help with that too.