Pull request without forking?

Here are steps of code contribution from the topic "How do I contribute to other's code in GitHub?"

  1. Fork the project
  2. Make one or more well commented and clean commits to the repository. You can make a new branch here if you are modifying more than one part or feature.
  3. Perform a pull request in github's web interface.

Is it possible to make a pull request without forking a repo?

It's quite sad to see more than 20 repos in my account which were forked for some pull requests. They have no activity then and zero stars / followers. Looks like I'm just copying somebody's code for a black day.


Solution 1:

If you don't have access to create branches on that repository, there is no way to create a pull request without forking.

Solution 2:

Once your pull requests are accepted, you can safely delete the repo.

Afterwards, simply clone directly from the original upstream repo.

If you have other pull requests to make, then you should make them in their own respective branch, which means you can safely delete the branch you made to manage an accepted pull request (as in "My pull request has been merged, what to do next?")

Solution 3:

By definition, a pull request involves a fork unless you have commit access to the destination repository. You can do a couple of things, though:

  1. If you do have commit access, create a branch and make your pull request against the new branch.
  2. Post your patch in the body of an issue. This isn't really the GitHub way, but it certainly works.
  3. Fork a repository, create a pull request, and then delete the fork once the pull request is merged or declined.

If you're just trying to avoid keeping repositories around that you aren't actively using, I personally suggest option #3. It sticks to the accepted GitHub workflow without cluttering up your dashboard.