I don’t understand git anyway
Well, you learn four commands and hope for the best.
fetch, reset --hard, checkout -b and cherry-pick?
:-D
More like clone, pull, commit, and push --force
>:-D
push origin head
^^
JetBrains IDEs, I don’t remember the last time I used the CLI.
you have forgotten the face of your father
Linus Torvalds?
This is the way
I was looking for this comment. PHP storm and git are like best friends. I very very rarely need to resort to the CLI and generally that’s for hard resetting after I screw something up
Good luck doing anything remotely complicated/useful in git with an IDE. You get a small fraction of what git can do with a tool that allows absolutely 0 scripting and automation.
IDE git is less powerful than CLI git. However I’m pretty confident that most people use more features of git by using a GUI.
CLI feature discoverability is pretty awful, you have to go out of your way and type
git help
to learn new commands.With a GUI though, all the buttons are there, you just have to click a new button that you’ve been seeing for a while and the GUI will guide you how to use it.
It sounds like you don’t speak from experience. I have all the automation I need. It supports git hooks on top of IDE-only features like code checking.
If I have to fire up my CLI for some mass history rewriting (like changing an author for every commit), or when the repo breaks - so be it. But by not using the CLI I save my fingers and sanity, because committing a bunch of files is several click away with little to no room for error.
I can rebase, patch, drop, rename, merge, revert, cherry pick, and solve conflicts with a click of a button rather than remembering all the commands and whatnot.
I use the cli, but my main goal is to never have to do anything remotely complicated with git. Does it happen sometimes? Of course.
Learning git will give you the tools to work on projects on any git platform. It doesn’t matter if I’m in Forgejo, Gitlab, or Github.
And it will find you the most answers online in case you have a git related question.
CLI
Though I will admit it took me a while to get there
git add -i is where the true magic beginsTIL!
git log --graph --oneline --all
Also part of the Cli magic is a pretty git log tree like that:
https://stackoverflow.com/questions/1838873/visualizing-branch-topology-in-git/34467298#34467298And a proper diff tool like vim:
git config --global diff.tool vimdiff git config --global difftool.prompt false
(Current diff could be closed with :qa. All diffs could be closed with :cq).
GitHub desktop Stan here. Been a software engineer for over a decade and still love my UI tools. GitHub desktop is good enough 99% of the time.
Magit
fugitive
I was looking for someone to mention Magit. It just rocks!
This + org-mode are enough for me to switch to Emacs.
Any windows screenshots?
(Fork is also an awful name in terms of searching for it btw)
You have my attention
Do they have a Linux client though?
sadly no and i don’t think it works through wine
but technically they have a mac client which is basically an expensive version of linux
Not really. It’s BSD, and even then the layout of the OS is quite far from BSD. Besides that you have a lot more technical stuff. Just use wine.
I wish! The best Linux git gui I have found is SmartGit. I like it, but it’s just a little goofy and not free. Fork is better for its ability to very easily stage and/or stash a subset of the current changeset.
Anyone got any suggestions? I tried git-cola and gitkraken. The former I found obtuse and limited, and the latter is not free in addition to somehow making git harder with a pretty gui.
Gitkraken is free as long as the repository is public, which seems like an alright compromise to me. The only problem I had with it was that it was electron. What did it make harder for you?
I just really detest the UI. And I have private repos I have to work with as well.
The best ones I have found for Linux are SmartGit and Sublime Merge, but neither are free in any sense. Sublime Merge is slightly cheaper. SmartGit offers a free “hobby license” but it limits which kinds of repos you can work with.
Gitkraken looks like it might be good but I haven’t used it.
deleted by creator
Right and that is how I currently use it
deleted by creator
Been using it for years it’s great
I hate coding on Windows, maybe I’ll check that out. (My only option is Windows for my work laptop because I need to use a few Windows-only softwares and IT says I’m not allowed to dual boot)
Is running Linux off a USB drive possible? It isn’t ideal, but you can still have persistence if needed? There is also WSL, if you don’t need a GUI.
After the last windows update WSL gives me a BSoD every time 😭 Pretty sure IT wouldn’t appreciate me running Ubuntu off a USB drive but that’s a good idea.
I’d love to like the desktop app, but I just don’t understand what it’s doing under the hood when I click a button. When I click an icon, is it syncing my changes up as it pulls down, it just pulling down? I guess point and click is more scary to me when prod is on the line.
Why are you syncing directly to prod
I’m not? I just don’t like UIs
Prod being on the line meant “I’m on main”.
Yeah, I set up branch protection, but I hate the fact that some UIs are all “I know you just want to pull, but let’s push while we’re at it”.
If I may shill for a moment, that’s something I like about sublime merge - the buttons mostly map to git commands, and it has a nice log showing the commands it ran and their output.
How about you utilize proper CICD
I do. I just don’t like leaving the terminal
Vscode plugins?
Fork.
Fork is great. I just wished there was a linux version
Fork is great!
TIL. Looking great but no Linux support 😐
Sublime-Merge
I love Sublime Merge. Worth every penny.
lazygit:
Freaking love TUIs, it’s like they took the convenience of a GUI and the efficiency of the CLI and merged them. As a Neovim and Lazygit user myself it’s amazing what I can accomplish in but a few keypresses.
GitKraken!
deleted by creator
I think for most people it’s whatever you got used to first. I agree the hatred the GUIs get is overblown. I would always recommend people learn the command line but if you want to use a GUI, go for it, doesn’t affect me unless your commits are bad, in which case the CLI wouldn’t have helped anyway.
This is what I currently use, although I don’t really like the branch name color in last few versions, so kinda keep using the old version
CLI + IDE for git
This is the way