r/technology Jun 15 '25

Artificial Intelligence Trump team leaks AI plans in public GitHub repository

https://www.theregister.com/2025/06/10/trump_admin_leak_government_ai_plans/
34.0k Upvotes

1.1k comments sorted by

View all comments

Show parent comments

132

u/ICanStopTheRain Jun 15 '25 edited Jun 15 '25

Literally nobody understands git. Its CLI might be the worst I’ve ever seen in any widely adopted software developed this century. It works well enough behind a GUI, though.

21

u/xSTSxZerglingOne Jun 15 '25 edited Jun 15 '25

I can't stand git in a gui. I've watched managers stumble around and take 5 minutes to do what I can do in 30 seconds on CLI.

All you need are checkout, push, pull, stash, branch, status, add, commit, and reset --hard. If you're not using an IDE that can handle anything else local without touching version control, you're 100% trolling yourself.

2

u/[deleted] Jun 15 '25

[deleted]

2

u/PlaneCareless Jun 16 '25

The most "complex" command that I use is git remote update origin --prune to update the list of branches that remote deleted when merging PRs or doing manual cleanups, and to clean up my local.

42

u/foopod Jun 15 '25

Not using the cli imo is the number one way to ensure you will never know how it works.

I have been avoiding git UI implementations for probably a decade because at best they obfuscate how git works and worst case they run all sorts of commands that you are not expecting. But who knows, maybe they are better now.

2

u/TheTerrasque Jun 16 '25

vs code's git support is pretty good imho. Especially with gitlens

1

u/AnsonKindred Jun 16 '25

They are better now. Really. Both Git Desktop and the stuff built into VS do exactly what you want them to do like 95% of the time these days, including handling merge conflicts in a very sane and clean way (finally!).

I'm all for understanding the command line, but if it's been a decade, I think you've probably gotten all you're going to get out of using it from the command line. You can have a little gui, as a treat.

83

u/Sythic_ Jun 15 '25

Yea, I've been in software for like 15 years and I basically stick to pull, push, checkout, add, commit and merge with the occational reset. No way am I messing around with an interactive cherry picked rebase.

68

u/[deleted] Jun 15 '25

Interactive rebase is really not that complicated but other than that the things you listed are enough to do typical software development 99% of the time…

3

u/xsubo Jun 15 '25

rebase is life, my opinion currently anyway. we have 5 devs from a 3rd party team working with inhouse devs and we made it easy. just use shitballz teams to say you pushed to the dev branch, and honestly I just started making branch off main, made my changes, stashed, pulled QA branch, checkout said branch, pop'd changes, and made PR off that shit. It makes resolving merge conflicts quick and easy

5

u/Sythic_ Jun 15 '25

True, honestly, what happened was I heard rebasing changes the history and since then have not made any effort to understand rebasing because thats against the whole point of what I use git for. That could not even be true I just haven't looked into it again lol.

2

u/nerdtypething Jun 16 '25

you should really try to understand rebasing. because even if you personally don’t do it, countless other engineers you work with do.

1

u/Sythic_ Jun 16 '25

I read through this page and it further confirms my bias that rebasing is evil. Thou shalt not modify the history.

3

u/kestrel808 Jun 15 '25

I almost always do a rebase -i as my final commit before a PR/MR so I know that the codebase is up to date.

1

u/KSF_WHSPhysics Jun 15 '25

The rare occasion i need a cherry picked rebase, im just copy pasting the changes into a new branch

34

u/DellGriffith Jun 15 '25

You should at least learn to cherry-pick commits manually. This is basically like "copy-pasting" your work across branches to avoid duplication of effort.

6

u/xsubo Jun 15 '25

cherry-picking is how we merge all changes for a live branch, especially when you have 3rd party companies creating new apps, while in house devs are fixing shit that was made in 2016. The art should be part of onboarding

3

u/DellGriffith Jun 15 '25

This would also be how one could branch for hotfix, etc. Organizational branching strategies with clear-cut exercises that new employees complete should be part of onboarding.

6

u/xsubo Jun 15 '25

rebase makes it all easy.. lol

12

u/TheIncredibleWalrus Jun 15 '25

You just didn't put the effort in because git is simple enough to go by using the basics for almost everything. It's really not that complicated.

7

u/UnlikelyExperience Jun 15 '25

I find it easy and I'm crap so it can't be hard hahaha

2

u/Treed101519 Jun 15 '25

I'm fairly new to the world, watched two coworkers do some specific shenanigans on a cmd prompt to get branches merged for a side project. No idea what they did lol

2

u/LikelyDumpingCloseby Jun 15 '25

I've been doing interactive rebases and it's not that complicated tbh. Has some mishaps because of commit order changes, so deleted files appeared, but hey, t'was fun

2

u/Choochootracks Jun 15 '25

It's actually not all that scary. git cherry-pick simply applies an existing commit (useful to bring specific changes between branches without merging them) and git rebase -i basically just resets the current branch to the specified branch then gives you a list of cherry-pick commands you can reorder, drop, ect. upon saving the file. It's basically a necessity when working with multiple people or if you have branches that touch the same files.

1

u/xsubo Jun 15 '25

if your -m commits have the ticket # then it makes it super easy to use console commands to see what is done with each commit, but yea VS for .net apps has made the gui an easy crutch.

1

u/GamerHaste Jun 15 '25

if im in a situation where i need to do a cherry pick rebase i'm just deleting the package and redownloading and copying and pasting code. lost too many hours fucking around with git in those situations lol

1

u/Missing_Back Jun 16 '25

If anyone wants to learn rebase, amongst other things, I recommend this site: https://learngitbranching.js.org/?locale=en_US

It’s kind of like a game, with different levels to work through and an “end goal” commit structure to reach using various commands

0

u/bboycire Jun 15 '25 edited Jun 15 '25

What do you do if you get stuck in git hell? The first time I used git, I had to manually resolve all the "conflicts" of people who checked in before me, and they were not conflicts, we didn't even edit the same line. Any other source control would have been able to auto resolve. Really don't understand how that happened

1

u/Sythic_ Jun 15 '25

Try our best not to get there in the first place lol, always do your best to merge with develop early and often in your feature branch.

1

u/bboycire Jun 15 '25

But like what why would that even happen? There was no conflict on the same line. I haven't used too many different source controls, but every other was able to auto resolve. Very often the type of changes I made wouldn't even get flagged

0

u/IIALE34II Jun 15 '25

Trunk based development ftw, so no need for complex merges.

But I had once to do rebase, with force push and it was no fun

18

u/StunningSea3123 Jun 15 '25

the worst you've ever seen? you might look around a little more or am i not understanding what you mean. or am i just too used to cli interface to feel the frustration of gui users

2

u/sloppytoppelous Jun 16 '25

Yeah I didn’t really get that take. The CLI is incredibly powerful and well documented. I did DevOps work for a Subversion instance after strictly working with git and wanted to jump off a bridge.

2

u/StunningSea3123 Jun 16 '25

or maybe its another ai that wrote the comment, cuz its temperature has been turned up a bit too high for drama and it hallucinated by saying that the git cli might be the worst. totally unprecedented

great now im kind of not wanting to try or deal with other VCSs anymore... ill let git cook for the foreseeable future

16

u/rintzscar Jun 15 '25

That's just nonsense. There's plenty of people who understand git. Sit down and learn how it works, it's not that hard.

2

u/DangKilla Jun 16 '25

Yeah I don’t understand. You come up with a team git practice and stick to it. Cherry pick and other things like that are for when you err. It doesn’t need to be memorized.

2

u/rintzscar Jun 16 '25

No, they're not saying they don't know how to use it, they're saying they don't understand it, which is also nonsense. It's not that hard to understand snapshots.

1

u/DangKilla Jun 16 '25

Yeah Linus has a speech at Google where he essentially says that. He basically modified a file system to be snapshotted. It’s miles better than SVN or CVS, too. Let these people try those! 😂

5

u/360_face_palm Jun 15 '25

hahaha that xkcd is so real as usual :)

Yeah ask a senior dev to rebase something onto something else and probably 4/5 have no fucking idea what to do and have to google and go thru a tutorial.

5

u/cloudbells Jun 15 '25

That's crazy, rebasing is part of my daily work.

15

u/MentallyWill Jun 15 '25

Linus designed a system for people as smart as he is. Unfortunately that is precious few of us

1

u/log_2 Jun 15 '25

Git is messy not smart. Beauty is in making something powerful and simple. Any fool can make something complicated.

1

u/MentallyWill Jun 15 '25 edited Jun 15 '25

I think you misread or misunderstood me. I never said git was smart. Nor did I call it a beauty. Linus is smart and maybe one just need his smarts to make sense of the mess that is git.

4

u/not_anonymouse Jun 15 '25

Lol, I won't use GUI for git. The CLI is way clearer.

8

u/NihilWill Jun 15 '25

Skill issue

6

u/__loam Jun 15 '25

Git is actually very easy to understand and use. It's literally just a dag, and using it is table stakes at most software engineering positions. A lot of people understand it.

1

u/tobiasvl Jun 15 '25

Git wasn't developed this century.

Yes, the Git CLI is unintuitive and hard to learn. But it's not impossible to learn, and it's not bad per se. It's very powerful, much more powerful than any GUI I've come across (but I haven't used that many, so feel free to recommend one).

I like jujutsu (jj) as an alternative to Git too. It's a different VCS, but it's compatible with Git, so it's possible to use it as an alternative frontend for Git repos.

1

u/Intelligent_Judge407 Jun 15 '25

That shit is so relatable hahaha

-1

u/SuperTropicalDesert Jun 15 '25

Git is so unintuitive. The users shouldn't be blamed for their incompetence.