Here are steps of code contribution from the topic "How do I contribute to other's code in GitHub?"
Fork the project 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. 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.
If you don't have access to create branches on that repository, there is no way to create a pull request without forking.
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?")
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:
If you do have commit access, create a branch and make your pull request against the new branch. Post your patch in the body of an issue. This isn't really the GitHub way, but it certainly works. 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.
github supports Shared Repository Model
The Shared Repository Model is more prevalent with small teams and organizations collaborating on private projects. Everyone is granted push access to a single shared repository and topic branches are used to isolate changes. Pull requests are especially useful in the Fork & Pull Model because they provide a way to notify project maintainers about changes in your fork. However, they're also useful in the Shared Repository Model where they're used to initiate code review and general discussion about a set of changes before being merged into a mainline branch.
You still need that one-liner: hub fork;git push -u $GIT_USER HEAD;hub pull-request
This is confusing. You can create pull request but you instead fork someone project then upload your own and in your fork make changes. Select options to compare branches. This is one of method. You should fork someone project and clone it using newest git gui (type url and name of folder, installation path will store your forks, default setting should be optimal for pasting). Alternatively use soulseek (which works like server), torrents or chomikuj (althrough you need use there dziellacz to split open source files to 1MB to merge).
As a workaround, you can create organization only for fork repos.
Success story sharing