Baffled by many forks and clones

I am somewhat baffled by some of the ways my repositories get used. One is to fork and do nothing with the fork. Is there some benefit to doing it that I am missing? Considering that keeping the fork up-to-date is rather complicated (I have to look up the procedure every time I try it), it would seem that cloning the original repository ought to be what everyone ought to do except when intending to make changes and submit a pull request.

And speaking of clones, the traffic page on one of my projects shows that people keep cloning my repository at remarkably high rate. Over the last two weeks it is reported that two people have cloned this repository 241 times (!) and this has been going on for many months, with a small number of people, up to a dozen or so, cloning over a hundred times a week. What could be the reason for this type of activity? Does simply synchronizing a repo with git pull count as a clone? If not, what kind of workflow would result in creating new clones so frequently.

Just wondering…

Hi there! :wave: Welcome to the Community!

Some people will make a fork as it makes the repository very easy to find again. Rather than bookmarking it, or using a Star, if you make a fork of a repo it’s right there in your repository list.

(It’s also very easy to make a fork by accident - if you’re viewing a repo you don’t have write access to and you press the e key, which is the shortcut for “edit”, GitHub will make a fork for you! I have done this quite a few times myself!)

And perhaps they were intending to work on their fork, but never quite got around to it? (I have a few repos like this on my account to, heh. :smirk: )

Regarding the clones, git pull would not count as a clone, so these are indeed whole fresh clones starting from scratch. At a guess I think those people have built some automation, such as a GitHub Action, that makes a fresh clone of your repo as part of its build process? It doesn’t sound like the most efficient process! They’d be better off caching your repo and checking for updates and using git pull when necessary.