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.
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.
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.
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.
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.
Since I work in Linux and primarily code in languages like C and C++ (i.e. compiled langs), I work completely in the terminal, so I don't use any GUI. It's nice and I'm already there for my compiling so I might as well use it for git.
However, re remembering all the commands, there is a nifty website I found a while ago and bookmarked called Git Explorer where you basically choose from dropdowns of what you want to do and it gives you the command(s) for it.
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.
I use GitKraken, which is pretty great, but for a lot of day to day stuff I just end up using the CLI
My office blocks git through the CLI/VS Code Tools but somehow GitHub desktop works. No idea why.
I use git fork on Mac, same reason, I don't remember all the commands. Also want to see the history visualization
Seconded. Easily the best UI in my opinion. I usually commit through IntelliJ and use fork for everything else.
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 use Git Tower and I love it. I'm surprised I don't see it mentioned here.
(GitKraken)[https://www.gitkraken.com/] is nice.
It is free "for solo developers working with local/public repos" (and free for all remaining cases, under (GitHub academic benefits)[https://education.github.com/]).
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.
I mostly use CLI but sometimes SourceTree, it's neat
I use GitHub Desktop for 95% of my git needs, terminal for the other 5%
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:
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.
Sourcetree
I use SourceTree regularly, but when shit hits the fan, I always fall back to the terminal.
Closest I get to a gui is magit in emacs.
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 raise that by a "I wouldn't know how to survive half a day without lazygit". From my experience only maggit is in the same level - I just don't use emacs.
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.
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'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...
I'm almost all terminal but I use merge to squash and edit commit messages cause I'm weak