adambard

joined 2 years ago
[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

This depends a lot on the GUI and the tool. Some cli tools are great alone or for scripting, others benefit from the extra attention to ux and exposure of options that a GUI can offer

For git in particular, I encourage juniors to learn and use the CLI. I find that GUI git clients often do some or all of the following:

  • Use non-git terminology that ends up being confusing. "Sync" comes to mind as a frequent offender, I can think of several incompatible things that could refer to.

  • Ignore the useful ability to stage your changes

  • Don't permit or encourage a review of the changes

  • Implement only the basics and make remediation of branching issues difficult

In the worst case, I've seen people end up using the git GUI like a "save" button, blindly commiting and pushing the current state of their code, including to-be-removed print statements and other cruft. Yeah, git cli is a bit complex compared to that, but you gain a lot for that added complexity.

That said, I've definitely jumped into a git GUI from time to time just for a visualization of whenever branching snafu I'm trying to untangle. None of the above invalidates GUIs if you take care to still understand the underlying tool properly!