User Tools

Site Tools


developing_in_branches

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
developing_in_branches [2013/01/04 16:54]
aseques updated instructions for new contributors
developing_in_branches [2013/03/21 10:02] (current)
nuxwin typo
Line 1: Line 1:
-=== Workflow ​===+=== Introduction ​===
  
-i-mscp development is happening on github, the use of git allows the developers ​to use their own branches for new features, making easier ​to keep in sync with current development+This document intends ​to give few information about how to contribute to the i-MSCP project
-This is a small guide to help you getting started with git development in i-mscp+The i-MSCP development team is using git as version control management system. All i-MSCP git repositories are hosted on Github, allowing any user to fork them and submit patches.
  
-  * Create an account in http://​github.com+=== How to start ===
  
-  * Fork the project ​i-mscp +If you want contribute to the i-MSCP project, you must first fork the development branch located at [[https://​github.com/​i-MSCP/​imscp]]. In order, you must do the following:
-The project ​url is [[https://​github.com/​i-MSCP/​imscp|this one]], by forking, you only create clone of the project on wich you have commit rights.+
  
-  * Clone that code to your system+  ​* Create an account on [[https://​github.com/​i-MSCP/​imscp|Github]] 
 +  * Create a fork of the i-MSCP development branch located at [[https://​github.com/​i-MSCP/​imscp]] 
 +  ​* Clone your fork on your local system
  
-  git clone git://​github.com/​your_username/​imscp.git ​+The latest task can be done like this on your local system:
  
-  ​* Create a branch for your great feature+  ​git clone git://​github.com/<​your_username>/​imscp.git ​
  
-  git branch ​great_feature+Once you did that, it's also recommended to create a specific feature ​branch. For instance, if you want create a new feature for i-MSCP called **new-feature**,​ just create the new-feature branch as follow:
  
-  ​* Add the modified files that you want to be commited+  ​git branch new-feature 
 +   
 +and then, you can start to add/modify files. See http://​gitref.org/​ to learn more about how to work with git.
  
-  git add changed_file1.txt changed_file2.txt +When your work is ready, you can do a pull request to ask the i-MSCP development team to merge it in the development branchThis can be done from the Github interfaceSee  [[https://​help.github.com/​articles/​using-pull-requests|Howto do a pull request]] ​
  
-  * Commit ​your changes (locally)+=== Keep your fork synced with the upstream branch ===
  
-  git commit -m "​Commit message"​ +Sometimes is takes a while to merge your changes with upstream, a good way to sync your branch with the upstream is to add a second remote url (the upstream ​repository) and periodically fetch the changes from there:
- +
-  * Push the changes to your fork (using the created branch name) +
- +
-  git push origin great_feature +
- +
-  * From github interface, ask for a pull request, so it can be integrated on master. +
- +
-=== Keep in sync with upstream code === +
-Sometimes is takes a while to merge your changes with upstream, a good way to sync your branch with the upstream is to add a second remote url (the upstream ​repositorie) and periodically fetch the changes from there:+
  
   * Add the upstream (official) code into your server (needed to rebase)   * Add the upstream (official) code into your server (needed to rebase)
Line 38: Line 32:
   git remote add upstream https://​github.com/​i-MSCP/​imscp.git   git remote add upstream https://​github.com/​i-MSCP/​imscp.git
  
-  * Fetch any new changes from the original ​repo+  * Fetch any new changes from the original ​repository
  
   git fetch upstream   git fetch upstream
/var/www/virtual/i-mscp.net/wiki/htdocs/data/attic/developing_in_branches.1357318445.txt.gz · Last modified: 2013/01/04 16:54 by aseques