Open Source Contribution Workflow Best Practice
Generally speaking, as we were using some open-source libraries we will inevitably find that there are some bugs or points that can be improved. And sometimes we even have to develop a brand new feature based on these libraries to satisfy our own needs. Out of respect for sprit of dedication, contributing our code to these opensource libraries is a good way to give back to the community.
When I decided to contribute to a repository, I will first try looking for if there is a contribution guide for it. Such guides usually lied as a section in the README or as a single document named CONTRIBUTING. Only when no guides were found, I will try to open a pull request to this repository on Github.
My Best Workflow
github.com/gorilla/mux as a sample repository to which I'm going to contribute. Here's my workflow:
- On GitHub
Fork the repo to my account, e.g.
2. On local machine
# clone the repo git clone firstname.lastname@example.org:gorilla/mux.git # rename origin to upstream git remote rename origin upstream # add my forked repo as the origin remote git remote add origin email@example.com:ggicci/mux.git # make some changes to the source code and commit to origin git add ... git commit ... git push origin ...
3. Back to GitHub
Open a pull request from