Github – how to make pull requests *without* a github account


One of the goals of git is to be decentralized. If Github is to be the … hub of git, then maybe it could take into account that there are other hubs out there, and allow pull requests to happen on git URLs that are not hosted on github.

The documentation is fairly clear about this: pull requests require that you have a Github account and that you fork a repository on github. Is this a real current technical limitation or is there a way to workaround that on Github?

If not, is it eventually planned to allow Github's "pull requests" tool to actually allow to pull from repositories outside of the Github silo?

Best Solution

You can use git request-pull to achieve the same kind of workflow (which is improved with Git1.7.9+).

See the article "using signed tag in pull-requests"

A typical distributed workflow using Git is for a contributor to fork a project, build on it, publish the result to her public repository, and ask the "upstream" person (often the owner of the project where she forked from) to pull from her public repository. Requesting such a "pull" is made easy by the git request-pull command.

Starting from Git release v1.7.9, a contributor can add a signed tag to the commit at the tip of the history and ask the integrator to pull that signed tag.
When the integrator runs git pull:

  • the signed tag is automatically verified to assure that the history is not tampered with.
  • In addition, the resulting merge commit records the content of the signed tag, so that other people can verify that the branch merged by the integrator was signed by the contributor, without fetching the signed tag used to validate the pull request separately and keeping it in the refs namespace.