I use GitHub Desktop - offered by GitHub themself. Its a GUI application where you can fetch, push, pull etc. But mostly just basic github "commands".
Programming
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.
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) π
I generally don't trust most git GUIs - a number of our developers have used SourceTree on OS X before and it's led to nothing but issues. The only one I trust is the one built into IntelliJ IDEA, otherwise I'll use commandline.
Would it work for you if you created git aliases for commands you can't remember?
If you have trouble remembering git commands for CLI have a look at the tool tldr
:
https://man.archlinux.org/man/tldr.1.en
For example if you need to remember how to use the branch
command you could look it up with
tldr git branch
which would give you an overview on the most popular use cases.
And in case you don't already know: You may want to use the history search tool of your shell by hitting CTRL-r and then for example typing branch
. You'd get a list of past commands you have used containing branch
that you can flip through by repeatedly hitting CTRL-r.
SourceTree when I was still a software engineer.
I'm a manager now, and I see people insisting on command line who have no idea what they're doing. Then don't! I think it's an awful attitude that real programmers use git command line, and GUIs are for babies. Please call out this attitude whenever you see it. Use tools that work for you. Git has a terrible user experience, let's face it.
I use VSCode for simple commits and merge conflicts. Anything more complicated and I go to CLI since it's usually better documented.
I don't use a GUI, with the exception of Meld as my primary difftool
At work I wish they were using git. But we got SVN. How I long for the ability to use pull requests. But tortoiseSVN has some nice features (I'm stuck with windows over there) even if it's lacking in overall functionality.
I own sublime merge because it was cheap when I upgraded to ST4, but never use it. It's not bad or anything, but honestly the CLI is more convenient to use (and all the GUIs I've used have a lot of clicking involved). I don't know that you're going to find something better than the CLI, especially given your requirement ow "comfortable to use with only a keyboard".
I don't have a recommendation, but I understand the desire for excellent keyboard support in a GUI. I switched to Linux after 3 decades on Windows and I really miss doing all the screen navigation from the keyboard. In Windows, the only time I used a mouse was inside things like drawing tools and badly written apps with inadequate or non-standard keyboard support.
I mostly use CLI but sometimes SourceTree, it's neat
I use GitKraken, which is pretty great, but for a lot of day to day stuff I just end up using the CLI
- 45% SourceTree
- 45% CLI
- 10% TortoiseGit
The repository I work in is huge, old, and the folder structures are wide and deep. It is normal to modify tens of files in almost as many folders for a single feature change.
SourceTree for managing staged files and committing.
CLI for pull, branch switching, and searching.
TortoiseGit for showing the log or blame of individual files and folders.
"No. No, man. Shit, no, man. I believe you'd get your ass kicked, sayin' somethin' like that, man." - Office Space
That said and jokes aside, occasionally I'll use the integrated git in vscode. I do recommend a Git cheat sheet to help become more proficient with the CLI interface.
~~Atlassian~~ Github Git Cheatsheet: Changed to the Github version as the Atlassian one was an auto-downloading PDF.
Funny that I haven't thought about cheatsheet, even though I use one for vim ^_^'
Ungit all the way
Git extensions, have been using it for years, and while the UI is not flashy, it gets the job done really really well.
@lysy SourceTree. Tabs for multiple repos, history search and a gui view of the branch(es). Integrates without a lot of trouble.
JetBrains have some quite extensive VC tooling built into their IDEs which I use almost exclusively. I used to do everything in the terminal, but I find it so much quicker and simpler to do it directly in the IDE.
I used SmartGit until they tried forcing me to pay. Now I use Sourcetree and the Git tools built into Jetbrains IDEs. But there are still some operations I prefer to do from the command line because I screw up more often with GUIs.
While I do most actions with the git
command or the git fugitive plugin from tpope, I will sometimes whip out lazygit
for certain things I donβt do that often.
I use Git Tower and I love it. I'm surprised I don't see it mentioned here.
Closest I get to a gui is magit in emacs.
I mainly program in Visual Studio so I use it's integration for simple commits, diffs, and checkouts. Anything more complicated than that I head for the command line.
Haven't seen it mentioned here, I've recently been using lazygit from time to time and I quite like it, especially committing only a few changed lines from a file is nice and quickly amending to old commits. I still use cli for more complicated stuff though.
Tower on Mac is excellent, tig in terminal is also very powerful once you read the help/man pages!
I've used https://www.sublimemerge.com and https://www.sourcetreeapp.com but I think i prefer to just use my terminal most of the time...