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
Last revision Both sides next revision
developing_in_branches [2013/01/04 16:54]
aseques updated instructions for new contributors
developing_in_branches [2013/03/21 10:01]
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 your works in the developement 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/pages/developing_in_branches.txt · Last modified: 2013/03/21 10:02 by nuxwin