Git GUIs are considered harmful, but… they really make sense to non-programmers. This is probably the best way to introduce non-programmers; they can understand an app that does version control, but asking them to understand the terminal environment AND command line git might be too much.
Sounds more like a consideration specific to badly designed git GUIs :-)
I’ve never used a git GUI, only the CLI. I imagine a simple GUI as being built along the lines of “someone doesn’t like the CLI, or maybe someone is using Windows and has no cli, so let’s wrap every cli git command in an exactly equivalent GUI command that just happens to run in a window and not in a terminal.”
Fine, but that problem shouldn’t be somehow specific to the GUI and irrelevant to the CLI. The purpose of having a GUI isn’t to teach people git or hide unfamiliar concepts, it’s to make correct operations more convenient to people who for whatever reason don’t want a CLI in their workflow.
Git GUIs are considered harmful, but… they really make sense to non-programmers. This is probably the best way to introduce non-programmers; they can understand an app that does version control, but asking them to understand the terminal environment AND command line git might be too much.
Why are they considered harmful, more so than any GUI for a complex CLI program is harmful? Are there considerations specific to git here?
Git-specific consideration. GUIs tend to wrap up a bunch of low-level actions and abstract them; you can end up doing strange things.
Sounds more like a consideration specific to badly designed git GUIs :-)
I’ve never used a git GUI, only the CLI. I imagine a simple GUI as being built along the lines of “someone doesn’t like the CLI, or maybe someone is using Windows and has no cli, so let’s wrap every cli git command in an exactly equivalent GUI command that just happens to run in a window and not in a terminal.”
Oh, the problem is that concepts like “squash” and “fast-forward merge” and “remote ref” just don’t make a lot of sense immediately.
Fine, but that problem shouldn’t be somehow specific to the GUI and irrelevant to the CLI. The purpose of having a GUI isn’t to teach people git or hide unfamiliar concepts, it’s to make correct operations more convenient to people who for whatever reason don’t want a CLI in their workflow.