• adambard
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    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!