Let's say a repo named cool-stuff is on github.
I have a fork of cool-stuff and I have submitted a PR associated with my fork of cool-stuff which is waiting to be merged.
Now, there is another independent fork of cool-stuff,say, even-cooler-stuff which works on new features to introduce to cool-stuff. I would like to contribute to the even-cooler-stuff repo but github won't let me since I already have a fork of cool-stuff.
Is there any way to do what I want like this or should I manually tell the author of even-cooler-stuff the changes I want to do?
You can add the even-cooler-stuff as another remote repo(like origin) and grab those changes and branch off of one of is branches then you can make pull requests to even cooler stuff from those branches.
I'm pretty confident the reason GitHub isn't allowing you to fork the even-cooler-stuff repo is that technically they are the same repo... And multiple remotes should do the trick.
I blame GitHub for this. They invented this cool concept of a "fork" which is not technically a fork but only a stupid clone with another remote URL, and "pull request" which is basically a merge request with another name. It's confusing and seem to create problems across teams /rant
Apparently, someone else posted the same solution that I did while I typed it out. Sorry for the duplicate but at least weagree on the solution! A warning on this one though. You want to use a feature branch too. Otherwise you'll mix your changes for cool-stuff with new changes for and from even-cooler-stuff. It may become more confusing and difficult to merge.
Create a new branch on your fork. You need it to be synced with the other fork so there are a few extra tricky steps. On your new branch, you need to delete the latest commits that aren't merged yet so that it matches the original repo. Then add a remote for the other fork and pull. Now you can build against the other fork and submit a PR to it.
git checkout -b even-cooler-stuff
# Remove the last 8 commits. Change this number as needed. Increasing it "too high" is just fine
git reset HEAD~8 --hard
git remote add even-cooler-stuff https://github.com/more-of-url/even-cooler-stuff
git pull even-cooler-stuff
You should now have a branch that matches the other fork. Make your changes, commit, and push normally. When you build the PR, you want to merge into the other fork.
Disclaimer: I wrote this on my phone and from memory. There are probably typos and possibly other mistakes. Good luck!
Bit of a workaround, you could make a new account. No clue if it's possible to do it with one as I tend to avoid contributing to projects on Microsoft's platform but that would let you do this.