Todays web experience has changed a lot and so has done coding as well. Everything is around being social,
interacting with people through social networks, blogs or online
communities. I love Open Source, mainly because you can learn so much from others' code or even just inspect it when you experience problems. Still, contributing was
always a bit cumbersome in my opinion. GitHub changed that!
The
more I dive into using
Git,
the more I enjoy the nature of a distributed VCS. Today for instance I found a very simple bug in the
jQuery Validation plugin while browsing through its source. It was nothing special, but a
grammar error in one of the german localization files. So, what could I have done? Well yes, just ignore it, open an
issue in the according issue repository, download the source and fix it for my projects or...just
fork the repo, fix
it and submit a pull request!
So did I and so should you! If you're new, just get started with these
steps here.
Setup your Git Tools
If you haven't yet setup your workstation to be used with Git, just follow the
instructions on the official site here. There is a very nice step by step explanation with
screenshots and everything you'd need to have a smooth setup experience.
Fork the Repo
Go and fork the repository where you found the bug. In my case it was the one of
jQuery Validation. Again, if you don't have any experience in that, just follow the
guide.
Get your repo and fix the bug
Get the source of your (just forked) GitHub repository. In my case it was
something like
git clone [email protected]:juristr/jquery-validation
Then just fix the bug, commit the
changes and push them back to your repo.
git commit -a -m "Fixed a grammar error in the german localization"
git push origin master
Send a Pull Request
The last step is to send a pull request to the upstream repository, namely the original
repo (jQuery-validation) from which we created the fork before. Again,
here's the doc.
The Result
A
nice thanks
from the author and your bugfix has been pulled into the master branch.
Love it!
Questions? Thoughts? Hit me up
on Twitter