Git is a program your computer runs to have a single folder have source control. It does all the hashing and commit chaining that you’re used to, branches, that sort of thing.
But if you want it to be on more than one computer, you need to do this complicated “Bare” repository setup on a server computer to do the “git push” stuff you’re used to.
Most people, being too lazy to learn bare repositories and the general sysadmin necessary to host a git server themselves, instead just use Microsoft’s Github which is a web interface for the server use of git the program.
Microsoft then proceeded with their classic mantra of “Embrace, Extend, Extinguish” and started slapping on more and more features that are incompatible with any other git hosting service: actions, CI, their web VSCode instances, etc. That’s all in GitHub too. But it’s all just web interface for git the open source program, at the end of the day.
Just a few comments on this. Most people aren’t “lazy”, they just understand that the effort to run a bare repository is greater than basically any other solution. Also your incompatible features list implies that other git repo sites (gitlab, codecommit, bitbucket, etc) don’t have their own form of proprietary stuff that you have to learn. In fact the newest version of gitlab actually changes their web ide into vscode web, because of the obvious, it is much better than their old ide.
I like shitting on M$FT as much as the next bloke but if you believe Github started being evil when Microsoft entered the picture then your memory is pretty awful.
From it’s inception github pushed proprietary tagging and issue numbers that have no meaning outside their platform and a difficult export process to trap projects - especially commercial ones - on their platform.
I remember moving a project from github to gitlab years ago (before MS) and the process to move all the non-git data from github was just as easy as moving the git repo itself. Thanks to gitlab’s efforts perhaps, but I didn’t expect github to have made it difficult for them based on the experience I ended up having.
I was being diplomatic because I was uncertain how people felt about the issue and PR tracking, considering how Bitbucket and GitLab replicate it. Felt simpler to focus on the since-M$ft egregious steps.
Today’s stupid question: are vim and neovim not the same thing? I just type vi (ancient habit) and use whatever it is that executes. (I can go search but interacting here is more fun lol)
Yeah, it doesn’t make a lot of sense. People talk about “when Linus dies”, and obviously that will be devastating, but in my mind Bram just was. I wish I’d made a point of meeting him, or at least sending him an email to say thanks. Not for vim specifically, though I will probably use it until my fingers quit working. As with countess others, Bram inspired me to learn about ICCF Holland, and from there I had the privilege of supporting a child in Uganda through school. That’s what I’d want to thank him for. And vim.
Neovim is a fork of Vim. It uses Lua for configuration instead of the original Vim’s VimScript, but still has a lot of interoperability with original Vim plugins and configuration options.
Neovim is better in many ways, and because it has lua support, it’s so much easier to write plugins for it. So there are thousands of plugins right now, and entire neovim distributions that are configured to work like an IDE, like Lazyvim for example.
I’m a huge fan and I have written plugins myself since it’s easy and rewarding.
But on the server, I don’t bother installing neovim. Ordinary vim is fine for simple editing tasks. But if you want a customized experience to replace VS Code on your computer, you want neovim and not vim.
No, the flip side of this wish is your knowledge is frozen in time to when you make the wish and can never be updated. You gradually become more and more outdated as you fail to grasp even the simplest of changes to all languages in current usage.
programmer_humor
Top
This magazine is from a federated server and may be incomplete. Browse more on the original instance.