Shame on me, I just recently used GitHub for the first time. I thought it’s just another code-hosting platform and I never had the need to set up a Git repo. Man was I wrong!
The real feature of GitHub is not the hosting of your code, but making it easy to contribute. In the past if you wanted to commit to a open source project you had the following steps to do:
- Check out the repo
- Edit the code, integrate new features or fix bugs
- Create a diff
- Get in contact with the original developers, send them your patch
- Hope your code gets accepted (they need to find the feature/fix useful, you need to pass quality tests, …)
- Wait some time until you see your code making it into the release
With Github the whole process changes:
- Fork the repo
- Make your changes (you can make smaller changes directly in the browser)
- Commit your code to your local fork, issue the pull request to the original project
It’s way easier to commit to projects this way, I found myself browsing different projects and commiting small changes here and there. This is what Open Source should be about!