I don’t understand either anyway
GitHub Desktop or Git CLI?
Submitted 1 year ago by hypnotic_nerd@programming.dev to programmer_humor@programming.dev
https://programming.dev/pictrs/image/3afccf95-534c-49a1-b9a5-d02730f5da81.jpeg
Comments
backhdlp@lemmy.blahaj.zone 1 year ago
traches@sh.itjust.works 1 year ago
Title text: If that doesn’t fix it, git.txt contains the phone number of a friend of mine who understands git. Just wait through a few minutes of ‘It’s really pretty simple, just think of branches as…’ and eventually you’ll learn the commands that will fix everything.
popcar2@programming.dev 1 year ago
-
git pull
-
git add *
-
git commit -m “Some stuff”
-
git push
And occasionally when you mess up
-
git reflog
-
git reset HEAD@{n} (where n is where you wanna roll back to)
And occasionally if you mess up so hard you give up
- git reset --hard origin/main
And there you go. You are now a master at using git. Try not to mess up.
-
LemmyIsFantastic@lemmy.world 1 year ago
Who the fuck codes and is such a terrible coder they are using shitty GitHub desktop?
Stumblinbear@pawb.social 1 year ago
You can be a perfectly good dev and not enjoy working in the cli, especially when there are good enough alternatives
calcopiritus@lemmy.world 1 year ago
GitHub desktop is the first thing I recommend whenever someone ducks up their local repo by using eclipse’s git integration.
It’s so easy even an eclipse user can solve their issue by clicking a simple “sync” button. They don’t need to even know how git works.
curiousaur@reddthat.com 1 year ago
That’s literally the problem being talked about. You need to know how git works to avoid these kinds of problems.
jbk@discuss.tchncs.de 1 year ago
Beginners, probably? I agree it sucks tho, bundling a whole ass browser just for some fancy semi-automated
git
executionsItd4n@ani.social 1 year ago
ass browser
hehe.
hightrix@lemmy.world 1 year ago
Right here, brother.
I use the right tool for the job, always. If all I need is to push a branch, then I’d rather use a UI that quickly shows me the changes in a nice diff layout. If I’m doing a pull request review and want to run it locally, I select the branch, pull, and go.
That said, when there are conflicts or tricky merges, or I want to squash a bunch of commits, anything like that, I’ll use the CLI.
It’s not about being above GitHub desktop or being an enlightened CLI user. It is about using the tool that is needed.
I’ve only been writing and releasing software for 15 years, what do I know.
Feathercrown@lemmy.world 1 year ago
Why you haff to be mad its only preference
derpgon@programming.dev 1 year ago
JetBrains IDEs, I don’t remember the last time I used the CLI.
caseyweederman@lemmy.ca 1 year ago
you have forgotten the face of your father
QuazarOmega@lemy.lol 1 year ago
Linus Torvalds?
expr@programming.dev 1 year ago
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.
calcopiritus@lemmy.world 1 year ago
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.
derpgon@programming.dev 1 year ago
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.
GBU_28@lemm.ee 1 year ago
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.
muddi@hexbear.net 1 year ago
There are automations. You can even add git hooks iirc. Mostly I find the lint and other code quality integrations nice to have in the IDE, since the inline results allow me to navigate directly to the code
eluvatar@programming.dev 1 year ago
This is the way
CodingCarpenter@lemm.ee 1 year ago
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
criticalimpact@lemm.ee 1 year ago
CLI Though I will admit it took me a while to get there git add -i is where the true magic begins
stepanzak@iusearchlinux.fyi 1 year ago
TIL!
FiskFisk33@startrek.website 1 year ago
git log --graph --oneline --all
hakunawazo@lemmy.world 1 year ago
Also part of the Cli magic is a pretty git log tree like that:
Image
stackoverflow.com/questions/1838873/…/34467298#34…And 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).
art@lemmy.world 1 year ago
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.
bellsDoSing@lemm.ee 1 year ago
And it will find you the most answers online in case you have a git related question.
hightrix@lemmy.world 1 year ago
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.
pimeys@lemmy.nauk.io 1 year ago
Magit
RePierre@feddit.ro 1 year ago
I was looking for someone to mention Magit. It just rocks!
akkajdh999@programming.dev 1 year ago
fugitive
h_a_r_u_k_i@programming.dev 1 year ago
This + org-mode are enough for me to switch to Emacs.
cupcakezealot@lemmy.blahaj.zone 1 year ago
Aatube@kbin.social 1 year ago
Any windows screenshots?
(Fork is also an awful name in terms of searching for it btw)
cupcakezealot@lemmy.blahaj.zone 1 year ago
caseyweederman@lemmy.ca 1 year ago
You have my attention
Do they have a Linux client though?
cupcakezealot@lemmy.blahaj.zone 1 year ago
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
TrickDacy@lemmy.world 1 year ago
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.
eluvatar@programming.dev 1 year ago
Been using it for years it’s great
BaardFigur@lemmy.world 1 year ago
Fork is simply the best. Git Extensions deserves a mention as well
ramenshaman@lemmy.world 1 year ago
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)
jadedwench@lemmy.world 1 year ago
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.
JonsJava@lemmy.world 1 year ago
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.
kuberoot@discuss.tchncs.de 1 year ago
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.
Fades@lemmy.world 1 year ago
How about you utilize proper CICD
JonsJava@lemmy.world 1 year ago
I do. I just don’t like leaving the terminal
muntedcrocodile@lemmy.world 1 year ago
Vscode plugins?
vsh@lemm.ee 1 year ago
GitHub desktop for life
infinitepcg@lemmy.world 1 year ago
GitKraken!
akkajdh999@programming.dev 1 year ago
lazygit:
Jesus_666@feddit.de 1 year ago
Fork.
Fades@lemmy.world 1 year ago
CLI + IDE for git
beefsquatch@programming.dev 1 year ago
Sublime Merge, for most items in the UI it tells you the git command it will use
BaardFigur@lemmy.world 1 year ago
Another gui client, such as Git Fork. Much easier to fine tune what I commit, and see commit history, with a gui client. Certain things are better to do in the command line, but I really don’t get why so many people hate gui clients
lowleveldata@programming.dev 1 year ago
Why am I not allowed to login to 2 GitHub remote at the same time? Answer me Microsoft
amotio@lemmy.world 1 year ago
Sublime-Merge
smeg@feddit.uk 1 year ago
I feel those captions are the wrong way round
lseif@sopuli.xyz 1 year ago
Metype@lemmy.world 1 year ago
I’d use Desktop if it worked, unfortunately recently it decided that I don’t have read/write access to a repo I’m working on. Works fine in git CLI so idk what the problem there is.
TheFerrango@lemmy.basedcount.com 1 year ago
Laughs in Sourcetree
lordnikon@lemmy.world 1 year ago
SVN?
CCF_100@sh.itjust.works 1 year ago
Well one runs on Linux and the other doesn’t so…
Phoenix3875@lemmy.world 1 year ago
Why are they even on the same bus?
Benaaasaaas@lemmy.world 1 year ago
Vim Fugitive
pastelmind@programming.dev 1 year ago
iAvicenna@lemmy.world 1 year ago
CLI because linux
Shinji_Ikari@hexbear.net 1 year ago
I really never understood why one would need a GUI for git except for visualizing branches.
I feel like I’m crazy seeing so many people using clicky buttons for tracking files. I need like 4 commands for 95% of what I do and the rest you look up.
You’re already programming! Just learn the tool!
And now there’s a github CLI tool? I hate to beat a dead horse but Microsoft pushing their extended version of an open source tool/protocol is literally the second step of their mantra.
idiocracy@lemmy.zip 1 year ago
knowing how to program doesn’t mean u need to do things the hard way.
heck the whole point of programming is to make things easier and faster.
popcar2@programming.dev 1 year ago
FWIW not everyone using source control is a programmer. I’ve seen artists in game dev using GUI tools to pull new changes and push their assets.
Shinji_Ikari@hexbear.net 1 year ago
That’s fair, there’s plenty of uses for source control.
I was speaking from a programming context though, as this is a programming community.
firelizzard@programming.dev 1 year ago
Do you use the command line for everything? Do you edit with vim, view diffs with git diff, browse the web with links or lynx?
GUIs are useful tools. I’m happy with VSCode’s git integration. It’s just what I need for basic stuff like staging files and committing. I use the CLI whenever I want to do something like rebasing because I can type that command faster than I can figure out the GUI, but it would be stupid to artificially force myself to use the CLI for everything because of some kind of principal.
Shinji_Ikari@hexbear.net 1 year ago
Yeah I actually just prefer the command line, I’ve never had to force myself to use it. I even tried using VSC for a bit recently but i couldn’t get myself to like it. I just use nvim with some plugins in a tmux session now and its productive as hell.
Of course I don’t browse the web with the command line. For merging branches, I always merge main into the working branch first, check conflict files, and go through the file finding the diffs and resolving them. I’ve used merge tools before that were sorta nice but I had my own issues with them.
Maybe it’s the type of programming I do. I don’t do any web stuff, so file count is down. For larger code bases I keep a non editor terminal up and will
grep -re
for word/phrase searching,find
to look for specific files, etc. I’ll occasionally use an IDE, typically eclipse based because embedded, but I don’t find myself missing the features they add.OpenPassageways@lemmy.zip 1 year ago
I primarily use GitHub CLI to interact with the GitHub API, not Git. I don’t really see it as an extension of the Git CLI, which I use much more frequently. Everything you can do with it can also be done through their REST API.
I use it for things that aren’t really git features, like:
Syncing repository admin, pull request, and branch control settings across multiple repositories
Checking the status of self-hosted actions runners
Creating pull requests, auto-approving them
Shinji_Ikari@hexbear.net 1 year ago
Thanks for the explanation, that does sound useful.
coloredgrayscale@programming.dev 1 year ago
Checking the diff before commit, solve merge conflicts
Also if it’s well integrated into the IDE it feels less like using a separate tool. For 95% of what I do the ide/gui feels better (fetch, pull, push, commit, checkout, merge). Usually just 2-4 clicks and no need to type the branch name (ticket number and then some)
For Reflog, reset I use the terminal.
If I had to start github desktop or another seperate gui I would use the terminal that’s integrated into the IDE.
hubobes@sh.itjust.works 1 year ago
Maybe not a GUI but using a TUI (lazygit) I am certain that I can do everything faster than you could ever do using the CLI. Tbf if a GUI Tool had the same shortcuts it would also be faster.
sloppy_diffuser@sh.itjust.works 1 year ago
I use LazyGit on the CLI for a “GUI-like” experience. I find it helps me make smaller more meaningful commits. If I’m working on a feature that enhances or fixes other modules in my repo to support, its trivial when done to make multiple clean commits out of the one feature that isolates the changes in functionality to individual commits instead of one medium commit.
On a large enough repo (e.g., monorepo), its a pain to do using git commands.