this post was submitted on 26 May 2024
43 points (92.2% liked)
Git
2910 readers
1 users here now
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Resources
Rules
- Follow programming.dev rules
- Be excellent to each other, no hostility towards users for any reason
- No spam of tools/companies/advertisements. It’s OK to post your own stuff part of the time, but the primary use of the community should not be self-promotion.
Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License.
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
That given its popularity it would be more user friendly. Every good dev tool will have its internals or more advanced features. Git is no different. But it sure feels like it never took the idea of a polished user experience seriously. Which is fine. It’s a dev tool after all. But the UI conversation around git has been going on long enough (here included) that there has to have been a significant global productivity cost due to the lack of a better UI.
I'm not so sure about this to be honest. If it were really that big of a problem, someone would have made an effort to resolve it. The fact that people still use it anyway suggests to me that it's a bit of an overblown issue.
As I said in another reply ... how many GUIs and text editor plugins are there for git and how many use them?
What other CLI tool has as much work put into GUIs, wrappers and plugins that do not try to replace the underlying tool/CLI, even accounting for popularity?
There is no other CLI tool like Git. But
Shell or Bash has various alternative shells.
Vim has numerous plugins and alternatives/extensions.
Linux distributions are wide and varied, forking out.
Yea, I think they’re all different. Alternative shells are about more than polishing a UI, and in many ways so are distros. And text editors are basically platforms and have been for a while, though it is interesting to single out git as being more like something like vim compared to other CLIs (as you say, it’s different). But even so, it’s not nearly a platform like a test editor, most apps for it a UI wrappers that don’t alter its core utility/function, to my point.
I think the fundamental difference is that Git is a CLI tool. But that's not how or where people use and want to use it. So obviously various interfaces are being created. It's not alternative CLI that are created. It's UIs and GUI interfaces. For a lack of a [more-than-barebone] official one.
Shells remain CLI. Distros are also technically/technologically driven.
Maybe the better analogy is that with vim and nano, we see many text editors and IDEs with GUIs.
Interesting. I'm not so sure about the divide you draw between vim/nano and GUI IDEs. Historically vim and nano were basically the GUIs of their time. Preceding vim was ex and ed, which were basically CLI text editing tools build for the actually printed on paper typewriter interfaces computers like PDPs used to run. If you're not familiar, and you think
vim
can be obscure ... try runninged MYFILE
! It's basically a sort of grep and sed REPL for editing text (where, interestingly, historically tools likegrep
actually came out ofed
not the other way round). Vim can be used in a sort ofed
mode withvim -e
(AFAIU it's actuallyex
mode, which is a more advanced version ofed
).So I'd say vim is more like any sort of GUI/TUI or text editor plugin for git and git is like the old ancient CLI equivalent
ed
that no one knows about or uses anymore because having a visual mode just makes too much sense.And this is basically where I fall ... I think a
vgit
should exist, that provides a terminal TUI of some sort, and that as withvim
anded
it should totally supplantgit
while also having a CLI mode too. That this hasn't happened, back to my original point, is a problem and honestly a little strange.