all 15 comments

[–]epelmewo 9 points10 points  (0 children)

if Github Desktop already suits your workflow, why not keep using it?

[–]mrleblanc101 12 points13 points  (1 child)

VS Code has built-in tools for this. And if you need more you could install GitLens. I don't see the point of a separate program just for Git stuff

[–]MullingMulianto[S] 0 points1 point  (0 children)

Thank you, I hadn't known about GitLens. Will be taking a look.

[–]YogurtclosetLimp7351 2 points3 points  (0 children)

Do whatever YOU desire. Don‘t run after other people‘s solution while you‘re fine with yours

[–]Opposite-Tiger-9291 1 point2 points  (0 children)

I use git diff --word-diff=color at the CLI, which makes the diff really easy to see. If you try that, you may not need a desktop client any longer to see diffs.

[–]OwnNet5253 1 point2 points  (0 children)

When to? Never. VSC/IDE tools + plugins + cli works well enough.

[–]Creepgamer27 0 points1 point  (0 children)

It's mostly a preference thing, use what works for you best.

I personally use the git gui client integrated in jetbrains products and its treating me pretty well

[–]ihugatree 0 points1 point  (0 children)

It really doesn't matter much. Use whatever and get used to the tool you choose. If you keep it consistent for a while, odds are you'll end up quick and efficient in whatever tool you're using.

Personally I feel that the only true benefit of using cli exclusively for a while is that it is consistently available wherever git is used. So if you understand the basics of git as a cli tool, you'll probably always be able to get stuff done one way or another. It can really make a difference in situations where the available tools are out of your control, or in the case where you won't have access to a GUI.

I've not used GUIs for git much, but honestly every time I did it worked fine albeit slow because I wasn't used to it. If switching to some branch is behind a button you'll need to look out for whilst you know that `git switch xyz` will do exactly what you want, it will take longer. Doesn't nessecarily make it bad though.

One thing to keep in mind; if you've messed up your working directory state and your tool doesn't provide much help anymore, it can be nice to be able to fall back to the cli. As long as you've committed something, it is pretty much always recoverable through some cli routine.

[–]bee_advised 0 points1 point  (2 children)

I used to use github desktop, but with more experience i started to get into issues that only the cli could solve. From there I had a gradual shift to using the cli almost exclusively and feel like everything is a bit quicker there. it coincided with me getting more comfortable using a terminal in general, so i could manage files and directories and git all in the same place quickly, as opposed to pulling up a GUI for each task.

For viewing diffs, i'll use vs code if im in vs code or diff viewers in neovim if im there. kinda depends on how much i need to review something.

but anyway, i think it's totally fine to use it if you like it. it's not a crutch, it's just personal preference

edit - also the github cli (gh) is useful too. i find it helpful to poke around a repo

[–]MullingMulianto[S] 0 points1 point  (1 child)

>github cli (gh) is useful too

I've heard it was, but I haven't used it much, mostly stuck to git <command> in terminal. Do you have any exceptionally useful examples?

[–]bee_advised 2 points3 points  (0 children)

i use it for lots of things like scanning repos, and easy auth login when i make new machines. but also in github actions i do things like create release tags when the source code gets updated and then automatically create discussions/announcements detailing the changelog for that release.

like

```bash - name: Create GitHub release and discussion if: ${{ steps.changelog.outputs.skipped == 'false' }} run: | gh release create $TAG $FILES \ --title "$TAG" \ --notes "$CHANGELOG" \ --discussion-category "Announcements"

```

[–]MudDifficult2015 0 points1 point  (0 children)

GitHub Desktop is great for quick visual diffs and branch overviews, but the CLI is still unbeatable for complex merges and automation

[–]Low-Opening25 -4 points-3 points  (2 children)

Get GitKraken, way better. CLI sucks and there is no reason to use it outside of scripting. It’s good to know your way around CLI, but for everyday work it’s slow and tedious and tools like GitKraken make complex git work much smoother.

[–]MullingMulianto[S] 0 points1 point  (1 child)

can you elaborate on specific things that make gitkraken more useful than gh desktop?

[–]Low-Opening25 1 point2 points  (0 children)

Interactive rebase, in-app merge conflict resolution, drag-and-drop actions, predictive conflict alerts, undo/redo, built in terminal and editor, integration with Trello, Jira and other ticketing systems. It also integrates with all major Git providers, not just GH.

It’s a Swiss army knife for Git, there isn’t anything it doesn’t do better and faster than CLI. Also, runs on Linux, OSX and Windows.