I’ve seen some projects on GitHub (howdy being one of them that came to mind) where there are forks, but when I check the forks out they are either unchanged, or are behind by a few commits. I was wondering why this would happen. It couldn’t be for archival purposes, could it?
I have big plans for those repos and I am definitely going to get around to it 🥹
Same, I’ll get to them soon
“Mmm this looks neat”
Puts in pocket for later
This is exactly what I do… and then never touch it again.
I’m getting to it! It’s on my to do list, with the 13,572 other projects I’m working on :(
In my personal workflow, I fork GitHub and Codeberg repos so that my local machine’s “origin” points to my fork, not to the main project. And then I also create an “upstream” remote to point to the main project. I do this as a precursor before even looking at a code on my local machine, as a matter of course.
Why? Because if I do decide to draft a change in future, I want my workflow to be as smooth as possible. And since the norm is to push to one’s own fork and then create a PR from there to the upstream, it makes sense to set my “origin” to my fork; most established repos won’t allow pushing to a new topic branch.
If I decide that there’s no commit to do, then I’ll still leave the fork around, because it’s basically zero-cost.
TL;DR: I fork in preparation of an efficient workflow.
I have done this just to preserve a thing in its current state because it looked like the main developer was gonna do something stupid and/or fuck it up.
Maybe they planned to make some changes, but never got around to them or at least didn’t get them to work the way they intended.
Confirmed. Guilty as charged.
Fork repo, make local changes intending to push to fork for PR, never push anything. Very common.
Also, SO MANY SITES have the button that says “Fork me on GitHub!” that is often wonder if people think it’s something that it isn’t.
Maybe some people don’t delete the fork after their PR is done.
In my case, I found another explanation.
Sometimes, a random person comes and forks one of my repos. I check their profile, and it’s a techbro student with hundreds of forked repos without any commits. With their bio referencing AI or some shit.
I’m pretty sure these people fork a lot of repos just to pad their CV or something. Make it look like you have a lot of repos. Because when you go to someone’s profile, it is not clear that a repo is a fork instead of their own creation.
When you visit someone’s profile on github it defaults to
source. It won’t show forks at all for a ‘normal’ visitor to a profile. You have to explicitly clear the filter to see forks.Maybe they changed the defaults. I stopped using GitHub after they trained their AI over private repos.
But I remember clearly that I was annoyed when looking at my own repos because my forks (for actually doing PRs) would show at the top instead of my own repos.
It’s been that way for many years, I’d say at least 4 or 5? Long before all this ai nonsense.
yeah, makes sense. The cynical part of my mind also led me to your 2nd explanation. :)
Sometimes I fork to make changes locally, but they’re either me-specific or hacky garbage I don’t want to publish. Because of that, I normally don’t commit those changes, and definitely don’t push to GitHub or make a PR.
I wanted to learn github.
I’ve forked before when I needed a specific version easily stored somewhere, like a Node package. Or if I intended to make changes but didn’t have write access. Or I wanted to save a repository in a way where I can easily find it in my repo list. But more often than not, I intended to pull down the code and contribute to it but for one reason or another didn’t.
Maybe I was trying to click the watch button and missed.
This reminds me of a legacy Rails 3.2 app that used a fork of the official Ruby on Rails only for one commit that backported some one-liner bug fix. This was at an old job in the Rails 6 days, getting it on the latest official version was definitely an adventure (no unit tests + tons of spaghetti code + a dash of currency conversions stored as Postgres floats).
Fork it so i have my version, regardless if the original goes away. (Assuming Github doesn’t nuke all repos of course like they did with youtube-dl for a while)
GitHub nukes forks when the original repository is deleted. The correct way to handle your use case is by creating pull mirrors, ideally on a different host.
I didn’t know this, and I’m sure a lot other people don’t know this and that’s why they fork - to have their own copy of the repo, thinking they have full control over it.
I have forked projects in the past and IIRC i had to send a request to be disassociated from the original repo, otherwise all pull requests default to the original repo which is annoying.
You can simply
git cloneon your system andpushit to whatever other remote you want. It should not be associated to the origin in that way.
Following instructions to use GitHub as a blog host. Step one: fork some repo so that I’ve got a copy on my profile.
I have a bunch if Steam games I have never played…






