Remix.run Logo
stingraycharles 7 hours ago

I don’t understand how people can remember all these custom scripting languages. I can’t even remember most git flags, I’m ecstatic when I remember how to iterate over arrays in “jq”, I can’t fathom how people remember these types of syntaxes.

crispyambulance 6 hours ago | parent | next [-]

I am convinced that the vast majority of professionals simply don't bother to remember and, ESPECIALLY WITH GIT, just look stuff up every single time the workflow deviates from their daily usage.

At this point perhaps a million person-years have been sacrificed to the semantically incoherent shit UX of git. I have loathed git from the beginning but there's effectively no other choice.

That said, the OP's commands are useful, I am copying them (because obviously I won't ever memorize them).

freedomben 5 hours ago | parent | next [-]

> I am convinced that the vast majority of professionals simply don't bother to remember and, ESPECIALLY WITH GIT, just look stuff up every single time the workflow deviates from their daily usage.

I wrote a cheat sheet in my notes of common commands, until they stuck in my head and I haven't needed it now for a decade or more. I also lean heavily on aliases and "self-documenting" things in my .bashrc file. Curious how others handle it. A search every time I need to do something would be too much friction for me to stand.

bluGill an hour ago | parent | next [-]

I refuse to have alises and other custom commands. Either it is useful for everyone and so I make a change to the upstream project (I have never done this), or it won't exist next time I change my system so there is no point. I do have some custom tools that I am working on that haven't been released yet, but the long term goal is either delete them or release them to more people who will use them so I know it will be there next time I use a different system.

dheera 2 hours ago | parent | prev [-]

I just use Claude Code as a terminal for git these days. It writes up better commit messages than I would write anyway. No more "git commit -m fix"

freedomben 2 hours ago | parent [-]

indeed, I held off for a while but finally caved because I got sick of seeing commits with `git commit -m .` littered in there. These are personal projects so I'm the only one dev-ing on them, but still so nice to have commit messages.

dec0dedab0de 36 minutes ago | parent | prev | next [-]

I just use my ide integrations for git. I absolutely love the way pycharm/jetbrains does it, and I'm starting to be ok with how vscode does. Remembering git commands besides the basics is just pointless. If I need to do something that the gui doesn't handle, I'll look it up and put it in a script.

alwillis 2 hours ago | parent | prev | next [-]

> At this point perhaps a million person-years have been sacrificed to the semantically incoherent shit UX of git. I have loathed git from the beginning but there's effectively no other choice.

Yes! We mostly wouldn’t tolerate the complexity and the terrible UX of a tool we use everyday--but there's enough Stockholm Syndrome out there where most of us are willing to tolerate it.

weedhopper 5 hours ago | parent | prev [-]

I’ve recently been looking into some tools that provide quick or painless help like pop up snippets with descriptions and cheat sheets, got any recommendations?

arcanemachiner 4 hours ago | parent | next [-]

Navi is good for generating personal cheatsheets:

https://github.com/denisidoro/navi

But for Git, I can't recommend lazygit enough. It's an incredible piece of software:

https://github.com/jesseduffield/lazygit

alwillis 2 hours ago | parent | prev | next [-]

Cheaters: https://brettterpstra.com/projects/cheaters

rusted_gear 5 hours ago | parent | prev [-]

I've found tldr to be useful

https://github.com/tldr-pages/tldr

Cthulhu_ 6 hours ago | parent | prev | next [-]

I don't, I will google things and fiddle, then put it in a git alias (with a comment on what it does and / or where I got it from) and push it to my private dotfiles repo, taking it with me between computers and projects.

dzaima 3 hours ago | parent | prev | next [-]

jj's template and revset languages are very simple syntactically, so once you're comfortable with the few things you do use often it's just a question of learning about the other existing functions (even if only enough to know to look them up), which slot right in and compose well with everything else you know (unlike flags which typically have each their own system).

Or, perhaps better yet, defining your own functions/helpers as you go for things you might care about, which, by virtue of having been named you, are much easier to remember (and still compose nicely).

dewey 5 hours ago | parent | prev | next [-]

You research it once, use it and then remember that it has "ancestor" in the command somewhere and then use ctrl + R to dig up something from your shell history.

NoSalt 18 minutes ago | parent | prev | next [-]

So, how does one iterate over an array in jq? Asking for a friend.

usrbinbash 4 hours ago | parent | prev | next [-]

> I don’t understand how people can remember all these custom scripting languages.

We can't.

Why do you think the `man` command exists?

limaoscarjuliet 2 hours ago | parent | prev | next [-]

Some things are idioms that one repeats so often they just stick, e.g. I use "grep.... | cut -c x-y | sort | uniq -c | sort -nr" to quickly grep frequency of some events from a log file.

Don't feel bad - no one remembers them all, we just remember a few idioms we use...

mgfist 7 hours ago | parent | prev | next [-]

Same, but now with AI I don't have to remember that anymore

robrain 4 hours ago | parent | prev | next [-]

If I look something up twice, I record it in Obsidian. If I need it more than a couple of times, I'll probably make an alias, a script or a mask [1] file. Autocomplete and autosuggest are essential to my workflow. And good history search.

[1] https://github.com/jacobdeichert/mask

drob518 3 hours ago | parent | prev | next [-]

Nobody does. One person figures it out, then writes a blog post, and we all Google for it. Even git’s man pages are long and sometimes cryptic.

SoftTalker 4 hours ago | parent | prev | next [-]

Yeah especially with git. All I know is pull, add, commit, push. Everything else I have to look up.

Fokamul 3 hours ago | parent | prev | next [-]

You add them into your GIT config file as shortcuts?

If you have multiple machines (/must have), just apply your user config to current machine?

TheRealPomax 4 hours ago | parent | prev [-]

If you don't have to codedive new projects all the time, there's zero reason to memorize these. If your job is to look at new codebases all the time, you probably learn to remember these commands pretty quickly.