Today, I made my first "pull request" on Github.

Github is a web-based version control environment that is used mainly to manage software code, and most of the code is open-source. It works basically like this: there is a central repository of code checked-in or "committed" (also called "pushed") by people who write code, to Github. In order to work on the code in a decentralized fashion, but still retain control over the quality of the source code, this distributed sytem has been created.

So, I checked-out, or "fetched" a copy of Postly, a Ruby API wrapper designed to work with the Posterous API. I was happy to see some of the basics had already been worked out, such as posting request, working with comments, and pulling all sites for an account. However, I had a need that was not written into the code. The need was to pull Posterous posts for a specific subdomain, since I manage multiple sites through Posterous. I wrote some code, by adding it to lib/postly/site.rb. It was the perfect opportunity to get up to speed with Git.

Using TortoiseSVN [how-to], Putty, and MySysGIT, I configured my computer, now having the ability to manage Git branches on my local PC and connect with Github.

I forked the existing Postly code [aka "made a copy for myself to work on"]. The original author is twoism on Github. I made my changes to my branch of the code, then "committed" them back to my repository on Github. Then, I made a "pull request", which notifies the author that code is ready for consideration to be checked into a project.

A small step, but its nice contributing to something for the good of the public. It is appropriate to thank the thousands/millions of developers contributing to open-source projects, collaboratively solving problems, by connecting distributed resources in time and space.


About Afomi

Afomi is the digital sandbox of Ryan Wold, who is always evolving this to better share inspirations and aspirations.

About Ryan

Ryan is a systems-thinking Product Developer and Designer who practices agile, test-driven, and lean continuous software delivery, while solving problems with people.