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.
Magit with emacs (doom emacs to be fully honest). More a TUI, but definitely fully keyboard driven :)
Magit on Spacemacs for me. Absolutely brilliant tool. https://magit.vc/
Yeah this is THE best interface for git. Worth getting into Emacs just to use it id say.
Same here. I don’t even use emacs for development anymore (I use IntelliJ since all my work is on the JVM and Typescript) but I still have an emacs running in the background for magit and org-mode. Magit is insanely effective for performing complex rebasing and cherry-picking tasks.
i just use Visual Studio or VS Code
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.
Github desktop will get you into trouble if you ever try to work with a team. Fine for solo development
I use Github Desktop but am looking to start moving toward CLI soon for this reason; though to be honest, I only know it’s not good practice and don’t know the reason why. What kind of issues can happen in a team environment using it?
The CLI and probably other more advanced guis are going to give you the option to:
- bisect: very useful for debugging. Like definitely check it out.
- rebase: excellent for clean commits. I use it all the time to squash commits together
- diff arbitrary branches and commits. Super useful for debugging.
- cherry pick: useful to apply a commit from a different branch or remote
- Apply: I use it to pass around patches for things for testing / debugging.
That’s just off the top of my head and also stuff that you can learn on the job. Good to know it exists though. I still use a “gui” (fugitive for vim) for simple tasks, like staging files 🙂
For me, I don’t think I could survive without git stash, I use it daily for various reasons (e.g. for validating a small bug fix, git stash & git stash pop lets me attempt to reproduce the issue both with and without a correction). The one downside with the CLI stash command is that it’s very easy to forget things in stash though, but I don’t think GUIs generally support stashing?
Another one I find myself doing quite often is git checkout BRANCH – PATH, to pull specific versions of files between branches.
Thanks for this, absolutely helpful information.
Gitkraken is the powerhouse, but i only use it for difficult commands
I use GK for everything and usually only use CLI when there’s something a little exotic. I like seeing it update in real time on another screen and I like the diff engine for quickly assessing changes and making sure everything I expected was altered and nothing I didn’t. I know there are other tools but GitKraken is the fastest for me.
Also have found it a good tool for teaching other engineers (usually older) how Git works. We tried out Sourcetree but it was super clunky at the time.
If I had to find a tool between pure CLI and pure GUI I’d probably recommend Emacs Magit porcelain. Works quite well.
I used to swear by the git CLI. After using GitKraken for a few days, I shelled out the $95 for an annual license. It’s really good.
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.
Same here, but I still like the merge conflict interface Fork has.
I’m still using SourceTree, I’ve tried a few others but have always gone back. Never heard of Fork tough, guess I’ll try that out.
If you’re already comfortable working in the shell, you should check out tig. It’s not as fully featured as the other clients named here, but it’s an excellent viewer nevertheless.
tig is rad, though it’s more like git log on steroids than a proper UI for git commands (at least the way I use it)
I use Git Tower and I love it. I’m surprised I don’t see it mentioned here.
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
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.
Github desktop is very functional, I use it all the time
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.
Im similar, vs code with git graph. Wish i could use something for PR though.
That extension does PRs. Updated my original comment with the link.
I use git fork on Mac
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.
It’s not free to work with certain things like private GitHub repositories unfortunately.
Tower on Mac is excellent, tig in terminal is also very powerful once you read the help/man pages!
when I absolutely need to… git-gui.
Live by the console, die by the console.
(I should change things up and try to make my life easier – vim for life) 🙃