I have a base repository as a template for others to fork in order to use (wmacevoy/latex-docker). But I can’t fork it into my own account. Why can’t I just fork my own repo?
Hi @wmacevoy ,
Thanks for this feedback! We’re always working to improve GitHub and the GitHub Community Forum, and we consider every suggestion we receive. I’ve logged your feature request in our internal feature request list. Though I can’t guarantee anything or share a timeline for this, I can tell you that it’s been shared with the appropriate teams for consideration.
This is interesting, the reason you can’t fork your own repo is that a fork is not actually what people think it is.
It’s a common perception that a fork is a copy of some other repo, it looks like one and most of us thinks it behaves just like a copy but it isn’t.
Ever wondered why forking even a huge repo takes just a few seconds? As I say a fork is not a copy but rather a set of branches on the main repo that only you can see.
When you look at master on your fork you’re actually looking at a private branch on the main repo but who’s name is dispalyed to you as master that is associated with your GitHub account.
It’s as if GitHub name the branches something like wmacevoy.master but strips of the front part in the GitHub UI.
So there are no copies of repos in GitHub (unless you create a copy yourself but you’d not do that by forking).
So because forks are just a set of per-user branches you can’t fork because you are the same user.
I’m sure GitHub could support this though if they wanted.
You can now mark the base repository as a template (In Settings, mark it as a Template repository) and click Use this template to create your second repo
Actually, this is we want, The name of the forked repository will be different - but, the repos must be connected for upstream pulls - and it is better, if github shows parent repo details under repo name in web view.
I faced another problem: you can’t COMPARE your repo with the original template via only GitHub UI (with forks it’s possible btw).
Ofc I may just clone my repo into new folder, change the default remote to my own, add upstream remote, etc. - and it will be pretty much what I want (that’s what I do currently), but it lacks those GitHub UI features like:
- the label like: “forked from ORIGINAL_REPO”
- ability to compare those two repos and see the difference with GitHub UI
- beautiful “This branch is 15 commits ahead, 2 commits behind ORIGINAL_REPO” message in GitHub UI, with a button to Compare, right on the repo page
Even though the link to the original repo may be added into README.md, you still won’t be able to compare these two repos with GitHub UI… But if it was possible to compare not just across forks, but across independent repos (that have the same first commit at least), it would be enough for me though.