Hacker News new | ask | show | jobs
by afarrell 2102 days ago
> better... understood when presented visually

Often true for me as well. I like `tig`.

> What use case is better served by sticking to the cli?

Good question. Knowing the "why" of things is important. My answers:

1. Focus - Opening a browser and clicking around takes more patience. It tempts me to go update my company's internal documentation about something irrelevant to my current task.

A CLI lets you pipe things to grep which lets you focus on specific information you care about.

2. Memory - I can write aliases to help me remember my common workflows.

3. Automation - I can have a script check PRs for me. This reduces context switching and enables greater focus and productivity.

2 comments

Speed and overhead are both areas that should get a lot more focus nowadays; the Github desktop app along with a ton of other applications are Electron / webapps, each one adding a number of always-active processes, complex and expensive rendering, script execution, and a ton of memory usage, which do add up over time. I mean a lot of developers will have two or three Electron apps open right now; Slack and / or Discord, VS Code, Notion, and a bunch more in their browser of choice.
1. Can be addressed by using a GUI which is not on the internet, for example SourceTree, the git interface in IntelliJ, probably many more.

2. Is often unimportant if the GUI tool can make common workflows one or two clicks.

3. Having the CLI tools to automate stuff is great, but is not necessarily the best way to have an interactive session with a repository.

Some of the things I like about graphical interfaces for Git:

- The information density is usually (depending on the program) great - I can see local branches, remote branches, commits and tree diagram for the selected branch, all in less space than a terminal usually takes up.

- A bunch of actions are available by right-clicking on a relevant item, so I don’t have to remember commands and command-line flags etc and I can just get on with things.

- Some actions like “show me the diff between these two commits” are SO much easier that they become a viable way of working.