If you don't have write access to the remote repository you won't be able to push your commits and branches directly to it. To collaborate you request that someone who does have have write access pull your commits and merge them.
This can be done from the command-line with git request-pull
, however the user interface and user experience is much better on one of the git hosting profiders like GitHub. In fact, the social and collaborative aspect of GitHub is resposible for a lot of their succecss.
Here’s the workflow:
Fork the project
Create a topic branch from master.
Make some commits to improve the project.
Open a Pull Request on GitHub.
Discuss, and optionally continue committing.
The project owner merges or closes the Pull Request.