this post was submitted on 20 Jun 2023
41 points (100.0% liked)

Programming

13481 readers
10 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS
 

I ask because I like console, but at the same time have difficulties remembering all the commands. I'd like to try a GUI that is comfortable to use with only a keyboard.
[edit]
My inbox got fediversized, fantastic feeling.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 13 points 2 years ago (3 children)

It's a paid app only available for Windows and Mac at the moment, but Fork may be worth a look: https://git-fork.com

[–] [email protected] 3 points 2 years ago (1 children)

I am using it too and I love it. I only know source tree as a competitor and in comparision it sucks....

You dont have to pay for it, even when using it comercially (unpess they changed that)

[–] [email protected] 2 points 2 years ago* (last edited 2 years ago)

It has a "free evaluation" that I think can be as long as you want it to be / honor system.
Its been worth it to me to pick up a license and support the development though. Its reasonably priced (for a dev tool) / no subscription and definitely beats the free clients I was using before (Sourcetree/GithubDesktop).

[–] [email protected] 2 points 2 years ago

Came here to recommend it too, really neat and practical tool and I haven't found a better alternative yet. Honestly I don't know why are people so against GUI git tools, it makes visualizing branches and commits so much more easier. I don't think you can use it only with your keyboard as OP asked though, dunno how important that is to them.

load more comments (1 replies)
[–] [email protected] 8 points 2 years ago (1 children)
[–] [email protected] 4 points 2 years ago

It doesn't get enough love.

[–] [email protected] 8 points 2 years ago

Lazygit changed how I use git, it is so easy to do all the daily essentials like branching, committing, and merging, but also also does more advanced things like interactive rebasing when needed.

I had searched for a proper git client, that was free and open source plus worked on both Linux and Windows, for a long time and I haven't looked back after finding lazygit.

[–] [email protected] 7 points 2 years ago (4 children)

Magit with emacs (doom emacs to be fully honest). More a TUI, but definitely fully keyboard driven :)

[–] [email protected] 3 points 2 years ago

Yeah this is THE best interface for git. Worth getting into Emacs just to use it id say.

[–] [email protected] 2 points 2 years ago

Magit on Spacemacs for me. Absolutely brilliant tool. https://magit.vc/

load more comments (2 replies)
[–] [email protected] 7 points 2 years ago (3 children)

Sublime Merge has been wonderful to work with

[–] [email protected] 2 points 2 years ago

Definitely can recommend Sublime Merge as well!

[–] [email protected] 2 points 2 years ago

It is one of the few tools that doesn't misrepresent the core git paradigm.

load more comments (1 replies)
[–] [email protected] 6 points 2 years ago* (last edited 2 years ago)

These days I can run everything I need to with the git cli. I use the JetBrains visual merge tool to resolve conflicts, because doing that by hand is so awfully error prone, it very very intuitively maps to a visual process

[–] [email protected] 5 points 2 years ago (2 children)

I use a 50%-50% mix between git CLI and the built-in git tools in JetBrains IDEs.

To be honest, I could quite easily get by with just the JetBrains GUI - they have a super sophisticated GUI that can easily handle things like interactive rebase, cherry-picking, etc + they have a great conflict resolution tool. I just use the cli every now and then if I want to get something done quickly while I don't have an IDE window open.

[–] [email protected] 2 points 2 years ago

This one. It's sophisticated and easy to navigate.

I generally do conflict resolution in Jetbrains IDEs and everything else in CLI. Occasionally, I might commit from the IDE if I only want a single file.

load more comments (1 replies)
[–] [email protected] 5 points 2 years ago (2 children)

I use Lazygit, which is a TUI. It is entirely controlled by keyboard shortcuts and has a lot of quick ways to do tedious things.

load more comments (2 replies)
[–] [email protected] 5 points 2 years ago (2 children)

GittyUp! https://murmele.github.io/Gittyup

I previously used GitKraken but was looking for an open source alternative that works in a similar fashion and has a Flatpak.

load more comments (2 replies)
[–] [email protected] 4 points 2 years ago

I use the VS Code built-in git support for making commits, and fall back to the CLI for anything else.

You won't have trouble remembering commands once you use them often enough. And you don't need to know all of them, just the ones your workflow uses. My toolbox is commit, checkout, status, reset, rebase -i, merge, bisect. That's all I need day-to-day.

[–] [email protected] 4 points 2 years ago (2 children)

I used to use SourceTree but it runs horribly and switched to Fork years ago and never looked back. I use VSCode for merge conflict resolution.

[–] [email protected] 2 points 2 years ago

Same here. I love the merge interface Fork has for conflicts.

load more comments (1 replies)
[–] [email protected] 4 points 2 years ago (1 children)

I use GitKraken. It has a beautiful interface. It's free to use non-commercially but I pay $50/yr so that it can connect to my companies Enterprise account. I know I'm weak with git (I get the concepts but I'm a visual person) so the money is worth it to me.

load more comments (1 replies)
[–] [email protected] 4 points 2 years ago

The number of Git front ends with proprietary licenses is too damn high.

[–] [email protected] 4 points 2 years ago (1 children)

No, I find typing faster than clicking and I've been using git for so long the commands are second nature to me.

load more comments (1 replies)
[–] [email protected] 3 points 2 years ago

Apart from the cli, gitk and git-gui are plenty good in my opinion, they could always be made better. And they are mostly always there with git Only thing I am miasing now is blame.

[–] CoffeeBot 3 points 2 years ago

My office blocks git through the CLI/VS Code Tools but somehow GitHub desktop works. No idea why.

[–] [email protected] 3 points 2 years ago (3 children)

Gitkraken is the powerhouse, but i only use it for difficult commands

load more comments (3 replies)
[–] [email protected] 3 points 2 years ago

KDE has a relatively new git tool named Kommit: https://apps.kde.org/de/kommit

[–] [email protected] 3 points 2 years ago

Since I use Emacs I've been really happy with Magit, even tho it's UI has a bit of a learning curve to it. I've been also trying out Gitg since I moved back to GNOME and it's been really solid as well. It lacks a couple really nieche features but otherwise as a fast commit tracking/writing tool it's very good.

[–] [email protected] 3 points 2 years ago

Developing in a Windows environment, I generally prefer Git Extensions.
It doesn't distract the eye with unneeded fancy and is very close to a command line git experience but still allows me a better visual sense of the repository and branches.

[–] [email protected] 3 points 2 years ago

I have some git blame extention in VSCode, but otherwise no. Something about using gui tool for git makes me feel so disconnected from it, like I'm not entirely sure what's going on, and afraid I'm going to fuck something up

Also, I forget commands all the time. Mostly ones I don't use often, like changing/adding/removing remotes, changing settings, etc.

[–] [email protected] 3 points 2 years ago

For daily work, I use the git integration built into my IDE. Occasionally I need the CLI for something complex.

[–] [email protected] 3 points 2 years ago

I've been using the git gui extension for a while and resolve conflicts in vs code. I also just use a lot of cli

[–] [email protected] 3 points 2 years ago (2 children)

I've tried a lot and settled with vim-fugitive. If you know and like Vim-keybindings it's probably the best choice out there.

load more comments (2 replies)
[–] [email protected] 3 points 2 years ago* (last edited 2 years ago) (1 children)

I use git fork on Mac, same reason, I don't remember all the commands. Also want to see the history visualization

load more comments (1 replies)
[–] [email protected] 3 points 2 years ago

I am pretty hooked to SmartGit. I absolutely love their branch and commit view and haven't found another tool that visualizes the tree quite as good (for my taste; I assume it has to do with familiarization over time).

I did however buy a lifetime license when they still offered them. Their current pricing model would have probably turned me off before I even got hooked. It is absolutely worth a look though.

[–] [email protected] 3 points 2 years ago (5 children)

Github desktop is the only way I know how to clone my private repo. I do not understand how to clone my private repos through CLI.

load more comments (5 replies)
[–] [email protected] 3 points 2 years ago

Github desktop is very functional, I use it all the time

[–] [email protected] 3 points 2 years ago

My inbox got fediversized, fantastic feeling.

Hey hey hey, I want that too!

As for git, I just use the plugin on VS code. Nothing fancy. I didn't even know there's other options like GUI to be honest.

[–] [email protected] 3 points 2 years ago

TortoiseGit user here. Love that it integrates with Windows Explorer so I don't have to constantly be opening an app first to fire off some Git commands.

[–] [email protected] 3 points 2 years ago

VS 2022 is finally somewhat usable for Git using the git Changes pane. The whole team uses it this way, and for many of them it's a first for git as well.

[–] [email protected] 3 points 2 years ago
[–] [email protected] 3 points 2 years ago* (last edited 2 years ago) (2 children)

I actually like the tooling built into VS Code. Added the GitHub Pull Requests and Issues extension for the PRs, pretty happy with it all at the moment. Before that I like a specific older version of SourceTree that didn't forget your credentials.

load more comments (2 replies)
[–] [email protected] 3 points 2 years ago (3 children)

I use IntelliJ's built-in git GUI.

I don't understand why people use command line only. Sure, learn the commands so if you need to use them you can, but most GUIs are far more feature rich than command line. With IntelliJ, I can easily view differences before committing, have it do code quality scans, automatically clean up any code it can, more easily choose which files I want to commit vs the typical 'git add .' I see most people do with command line, have separate changelists when pair programming, and much more.

One argument that continually comes up is that command line is faster. I completely disagree. If I want to just commit the code without reviewing it, I can use 2 hot keys and the code is committed and pushed. But as I do a quick readthrough of all the code first and review issues from the code quality analysis it does take more time, but still less than it would to do comparable things with command line.

load more comments (3 replies)
[–] [email protected] 2 points 2 years ago

I use GitHub Desktop for 95% of my git needs, terminal for the other 5%

[–] [email protected] 2 points 2 years ago

I kinda do both? For some reason, I prefer the CLI when I clone a repo, but Sourcetree for committing, pulling, and pushing, and my IDE's built in git tools for merges.

[–] [email protected] 2 points 2 years ago

i just use Visual Studio or VS Code

load more comments
view more: next ›