Letting your text editor write your code, not using version control… I don’t feel sad at all. Hope lesson was learned.
Git wasn’t the first version control software. I remember using sccs back in 1991 and apparently it was written all the way back in 1972 https://en.wikipedia.org/wiki/Source_Code_Control_System
At least they were humble and didn’t blame it entirely on Cursor… they also blamed Claude.
this guy would have force pushed onto main about 10 mins after this if he did have git
And then lost the reflog by
rm -rf
ing the project and cloning it again.God bless DCVS.
Tbf you have to do that for the first push, if a Readme file was autogenerated
You don’t if you just clone the repo you created.
Huh? I’m talking about existing code being in a dir, then initting a git repo there, creating a pendant on your hoster of choice and then pushing it there. Wouldn’t cloning the repo from step 3 to the code from step 1 overwrite the contents there?
There are multiple solutions to this without using --force.
Move the files, clone, unmove the files, commit, push being the most straightforward that I can summon at this time… but I’ve solved this dozens of times and have never use --force.
If your remote is completely empty and has no commits, you can just push normally. If it has an auto-generated “initial commit” (pretty sure Github does something like that), you could force push, or merge your local branch into the remote branch and push normally. I think cloning the repo and copying the contents of your local repo into it is the worst option: you’ll lose all local commits.
If it’s a single, generated, “initial” commit that I actually want to keep (say, for ex I used the forge to generate a license file) then I would often rebase on top of it. Quick and doesn’t get rid of anything.
You can also just tell GitHub to not do that.
True, in the situation with a local history maybe it’s worthwhile to --force to nuke an empty remote. In that case it is practical to do so. I just typically like to find non-force options.
Yeah, I was thinking of a new repo with no existing code.
In your case you’d want to uncheck the creation of a readme so the hosted repo is empty and can be pushed to without having to overwrite (force) anything.
Does that still happen if you use the merge unrelated histories option? (Been a minute since I last had to use that option in git)
Never have heard of that, but in the case of you also having a Readme that will be even more complicated, I imagine. So just adding -f is the easier option.
“Developer”
“my” 4 months of “work”Those are the ones easily replaced by AI. 99% of stuff “they” did was done by AI anyway!
The first version control system I ever used was CVS and it was first released in 1986 so it was already old and well established when I first came to use it.
Anyone in these past forty years not using a version control system to keep track of their source code have only themselves to blame.
CVS was, for the longest time, the only player in the FLOSS world. It was bad, but so were commercial offerings, and it was better than RCS.
It’s been completely supplanted by SVN, specifically written to be CVS but not broken, which is about exactly as old as git. If you find yourself using git lfs, you might want to have a look at SVN.
Somewhat ironically RCS is still maintained, last patch a mere 19 months ago to this… CVS repo. Dammit I did say “completely supplanted” already didn’t I. Didn’t consider the sheer pig-headedness of the openbsd devs.
Pretty sure GTA V use(d) SVN or something like that. I remember reading the source code and being surprised that they didn’t use GIT.
Game developers often use Perforce instead of Git. Maybe it was that?
You definitely need something else than git for large assets, yes, its storage layer is just not built for that and they way art pipelines generally work you don’t get merge conflicts anyway because there’s no sane way to merge things so artists take care to not have multiple people work on the same thing at the same time, so a lock+server model is natural. Also, a way to nuke old revisions to keep the size of everything under control.
That’s very possible.
“We’ve always done things this way, we ain’t changing!” - some folks in the Foss community, like those RCS maintainers
We still use RCS at work. For config files for our network monitoring. Works fine still.
which is about exactly as old as git.
Wdym by that?
Both git and svn started around the same time, in or about 2004.
Svn: 20 October 2000
Git: 7 April 2005
I remember using svn when git development was started
And Claude, off course.
Before that, it was RCS, released in '82.
Or gnu arch
Luckily I’m young enough that I never had to use RCS.
My first one was Visual Source Safe.
I will never go back to it for any amount of money.
You know, CVS wasn’t really that bad, just primitive and outdated.
Ah yes, the elusive AI “programmers”.
The vibes were off.
Yeah this what you get when you code based on vibes.
I just want to pause a moment to wish a “fuck you” to the guy who named an AI model “Cursor” as if that’s a useful name. It’s like they’re expecting accidental google searches to be a major source of recruitment.
they are the first thing that comes up when searching “cursor” in both ddg and google, so I think they’re doing ok
Yes, that is the problem I wanted to acknowledge, thank you for clarifying.
It’s not an AI model, it’s an IDE
My comment stands
Forget git. Sending zip files into discord once in a while it the way to go.
Congrats discord now owns your code forever
I’d feel sorry for them. My personal projects will only harm them.
Not if you encrypt the zip.
And then make sure to send the encryption key over discord so that the recipient can read it.
Especially if they’re .zip files full of military secrets.
I’m not in any war thunder servers.
It’s a scary amount of projects these days managed by a bunch of ZIP files:
- Program-2.4.zip
- Program-2.4-FIXED.zip
- Program-2.4-FIXED2.zip
- Program-2.4-FIXED-final.zip
- Program-2.4-FIXED-final-REAL.zip
- Program-2.4-FIXED-FINAL-no-seriously.zip
- Program-2.4-FINAL-use-this.zip
- Program-2.4-FINAL-use-this-2.zip
- Program-2.4-working-maybe.zip
- Program-2.4-FINAL-BUGFIX-LAST-ONE.zip
- Program-2.4-FINAL-BUGFIX-LAST-ONE-v2.zip
I did that with documents in my Uni years.
By the end, I was using ISO timestamps.- Program-1.5-DeleteThis.zip
- Program-1.6-ScuffedDontUse.zip
- CanWeDeleteThesePlease.txt (last edit 8 months ago)
Inspired by a small collaboration project from a few years ago.
If we’re talking actual builds then zip files are perfectly fine as long as the revs make chronological sense.
I’m not. I’m talking about in companies where dev A wants dev B to do some work, but they don’t use git or any kind of source control, so you email over a cursed ZIP file, then dev B does the work and sends it back with a different name. It’s a highly cursed situation.
Yeah that’s bad.
if this is real, that’s the kind of people who should be worried about being replaced by an ai
it’s also Claude
lmao
Was playing around with it. It’s neat tech. It’s interesting all the side projects I can spin up now. It absolutely cannot replace an engineer with a brain.
I’ve caught so many little things I’ve had to fix, change. It’s an amazing way to kick off a project, but I can’t ever trust blindly what it’s doing. It can get the first 80% of a small project off the ground, and then you’re going to spend 7x as long on that last 20% prompt engineering it to get it right. At which point I’m usually like “I could have just done it by now”.
I see kids now blindly trusting what it’s doing, and man are they going to fall face first in the corporate world. I honestly see a place for vibe coding in the corporate world. However I also see you still needing a brain to stitch it all together too.
Yeah, a coworker (also a trainee) spent 2 days trying to debug some C# MVC thing. It took me around 5 mins, from having last seen C# code 7 years ago, to realizing that the quotes were part of the literal string and needed to be checked too.
Well he did literally everything with the internal ChatGPT instance (or so a coworker said, I don’t know which model actually runs there). I asked if he wrote JS code, he said no. Well even though there was JS in the cshtml file, he technically didn’t lie, as he didn’t write it.
Fake developer doesn’t use version control. Big surprise.
It’s actually reassuring to see that despite all warnings and doomsayers there will still be opportunities for programmers capable of solving problems using natural intelligence.
If anything it feels like we’re the doomsayers trying to warn people that their AI bullshit won’t ever work and they’re just not listening as they lay off the masses and push insecure and faulty code.
And then years from now when this all comes to a head, they’re gonna hire some poor schmucks to fix that crappy code
Just save your prompts and vibes in a Google doc dude
Good thing it’s deterministic, oh wait 😃
You could literally just save a copy to your desktop before you’re going to do something sensitive.
That’s why I take a screenshot of my desktop before something stupid just in case.
Or use VCS like a normal dev
ok boomer
Don’t worry, I’m sure Cursor will be able to clobber your git history and force push to master any day now
we just need a little more AI
You know, none of the “AI is dangerous” movies thought of the fact that AI would be violently shoved into all products by humans. Usually it’s like a secret military or corporate thing that gets access to the internet and goes rogue.
In reality, it’s fancy text prediction that has been exclusively shoved into as much of the internet as possible.
Genuine question: what would it take to poison an LLM with ai tools to run
git push --force origin main
orsudo rm -rf /