User Tools

Site Tools


developing_in_branches

Introduction

This document intends to give few information about how to contribute to the i-MSCP project. 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.

How to start

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 latest task can be done like this on your local system:

git clone git://github.com/<your_username>/imscp.git 

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:

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.

When your work is ready, you can do a pull request to ask the i-MSCP development team to merge it in the development branch. This can be done from the Github interface. See Howto do a pull request

Keep your fork synced with the upstream branch

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:

  • Add the upstream (official) code into your server (needed to rebase)
git remote add upstream https://github.com/i-MSCP/imscp.git
  • Fetch any new changes from the original repository
git fetch upstream
  • Merge the upstream code with yours, no more steps if there aren't code conflicts.
git merge upstream/master
/var/www/virtual/i-mscp.net/wiki/htdocs/data/pages/developing_in_branches.txt · Last modified: 2013/03/21 10:02 by nuxwin