You have hopefully now a much better overview of how you can take advantage of git and github, both for eZ Publish contributions as well as for your own open source code development. It should once again be noted that this is considered a living document, so things like code standards and commit conventions might move out to a wiki pages on GitHub later where it can more easily be maintained and adjusted as we move on.
Resources
If you have questions when it comes to git, first place to look should probably be Github’s FAQ, as it explains things straight forward and also covers Github-related questions. But for a Git specific article, be sure to check out one from A list Apart on the subject which also mentions the most important additional Git resources like Git ready, Pro Git and the official documentation. If you are a cheat-sheet addict, check this out : http://help.github.com/git-cheat-sheets. If there are any eZ Publish + Git specific questions, feel free to post below!
Clone: Clones a whole repository, giving you access to all it’s branches and tags locally in one folder (but you’ll need to use checkout to select one at a time).
Commit: Like in svn, but only done locally. Allows you to commit offline and do several small commits to simplify reviews
Push: Push your local commits to a remote repository
Pull: Like svn up, pulls in changes from a remote repository
origin: The origin remote server, this refers to the origin remote Git server you cloned a repository from, and has nothing to do with forks.
upstream: And open source term for a third party project your code relies on, in Git often used for the original project, the one you forked in case of Github. aka ezystems/ezpublish when dealing with eZ Publish.
Github terms:
Fork: Like a copy of a repository with some knowledge of original repository and compare / status features. To be able to easily share changes you do, as opposed to keeping your changes locally on custom branches or setting up your own Git server that contains your changes.
Pull request: A Github feature, makes it possible to notify the original repository committers about your branch and ask him to integrate your work in (make sure you comply with CLA / coding standards before you do)