this post was submitted on 25 Apr 2024
673 points (97.3% liked)
Programmer Humor
19488 readers
672 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
git add
with no arguments outputs a message telling you to specify a path.git commit
with no arguments drops you into a text editor with instructions on how to write a commit message.git push
with no arguments will literally print thegit push --set-upstream
command you need to run if your branch has no upstream.Again, I recognize that git has a steep learning curve, but you chose just about the worst possible examples to try and prove that point lol.
Yes, but a more sensible default would be -A since that is how most developers use it most of the time.
Git commit with no arguments drops you into vim, less a text editor and more a cruel joke of figuring out how to exit it.
Git has a steep learning curve not because it's necessary but because it chose defaults that made sense to the person programming it, not to the developer using it and interacting with it.
It is great software and obviously better than most other version control systems, but it still has asinine defaults and it's cli surface is over complicated. When I worked at a MAANG company and had to learn their proprietary version control system my first thought was "this is dumb, why wouldn't you just use git like everyone else", then I went back to Git and realized how much easier and more sensible their system was.
No it wouldn't. You'd have git beginners committing IDE configs and secrets left and right if -A was the default behavior.
Esc
,:
,q
. Sure it's a funny internet meme to say vim is impossible to quit out of, but any self-respecting software developer should know how, and if you don't, you have google. If you think this is hard, no wonder you struggle with git.Just because you don't like the defaults doesn't mean they don't make sense. It just means you don't understand the (very good) reasons those defaults were chosen.
Git's authors were the first users. The team that started the linux kernel project created it and used it because no other version control tool in existence at that time suited their needs. The subtle implication that you, as a user of git, know better than the authors, who were the original users, is laughable.
No, you wouldn't because no one is a git beginner, they're a software developer beginner who need to use git. In that scenario, you are almost always using repos that are created by someone else or by some framework with precreated git ignores.
You know what else it could do? Say "hey, youve said add with no files selected, press enter to add all changed files"
Dumping people into an archaic cli program that doesn't follow the universal conventions for exiting a cli program, all for the the goal of entering 150 characters of text that can be captured through the CLI with one prompt, is bad CLI design.
There is no reason to ever dump the user to an external editor unless they specifically request it, yet git does, knowing full well that that means VIM in many cases.
And no, a self respecting software developer wouldn't tolerate standards breaking, user unfriendly software and would change their default away from VIM.
Lmao, the idea that we should hero worship every decision Linus Torvalds ever made is the only thing laughable here.
Don't put words in my mouth.