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.
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.
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.
I use it as well! Not sure if it's a flatpak thing, but for some reason I need to re-enter credentials for my git remotes for each push. What's your experience?
No problems here but I only use SSH keys which are configured on my ~/.ssh directory.
I assume you can use ssh-agent somehow to save your credentials.
Tower on Mac is excellent
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 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.
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.
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.
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.
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 GitKraken, which is pretty great, but for a lot of day to day stuff I just end up using the CLI
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.
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.
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.
Git extensions, have been using it for years, and while the UI is not flashy, it gets the job done really really well.
Not really but sometimes if I need a visualization of something complicated that I can't see in my head I'll go to the network tab under insights in github
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 use the TUI gitui Though I also use the git cli directly too, depends on what I'm doing.
I'm loving all of the TUIs cropping up lately. Thanks for sharing!
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 🙂
Thanks for this, absolutely helpful information.
I use SourceTree regularly, but when shit hits the fan, I always fall back to the terminal.
I mostly use CLI but sometimes SourceTree, it's neat
I use TortoiseGit.
The log window gives me overview and almost every action I need. Committing, diffing, switching, rebasing, creating and deleting branches and tags, pushing, fetching, merging, view logs of files, blaming, filtering…
The log view is still much better than the VS Git log view. And due to it's visual GUI it's much better than CLI when going beyond just one branch or a low number of my own branches.
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 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.