Collaborative Github Workflow

From eqqon

(Difference between revisions)
Jump to: navigation, search
m
m
Line 1: Line 1:
__NOTOC__
__NOTOC__
-
<div style="float:right;width:300px;margin:10px;">
+
==== ====
 +
<div style="float:right;width:300px;margin:30px;border:solid1px;">
[[Image:Distributed repository structure on github.png|right]]<br>
[[Image:Distributed repository structure on github.png|right]]<br>
Typical distributed setup of git repositories for collaboration on a github hosted project. The dots are repositories, the lines between them indicate that one repository has been cloned from another. The forks are initially created by cloning from the main repository and the private repos are clones from the public ones on github.
Typical distributed setup of git repositories for collaboration on a github hosted project. The dots are repositories, the lines between them indicate that one repository has been cloned from another. The forks are initially created by cloning from the main repository and the private repos are clones from the public ones on github.

Revision as of 22:57, 16 August 2009

Distributed repository structure on github.png

Typical distributed setup of git repositories for collaboration on a github hosted project. The dots are repositories, the lines between them indicate that one repository has been cloned from another. The forks are initially created by cloning from the main repository and the private repos are clones from the public ones on github.

Collaboration on Github is not complicated but also not intuitively clear for beginners because not all parts of the workflow are incorporated into the Github user interface. This description describes the structure of collaboration between the contributors and the maintainers of a project that is hosted on github. For every step in the workflow the respective git commands are given for reference.

The example

This description uses the project GitSharp a CSharp implementation of git as example.

The main repository also called the upstream branch is henon/GitSharp. The maintainers of this repository are responsible of merging in contributor's commits.

Contributor's Workflow

Getting Started

If you want to start contributing to a project on github the first thing to do is to fork it on github. Forking is the preferred way of collaboration on github and it works quite well. Follow the instructions on the site and clone a local copy of your fork to work with.




.... work in progress ..... going to complete it in the next days.