Project

General

Profile

Git-maus » History » Revision 8

Revision 7 (Dobbs, Adam, 22 December 2016 17:16) → Revision 8/44 (Dobbs, Adam, 22 December 2016 17:17)

h1. Git-maus 

 Besides Launchpad and bazaar MAUS has beta level support for git and"github":https://github.com/mice-software/maus. At the moment code updates for the trunk cannot be accepted from github however, only via Launchpad and bazaar. 

 h2. Obtaining MAUS 

 * Optional: set up an account on github and add an ssh key 
 * Clone the MAUS repository using: 
 <pre> 
 git clone git@github.com:mice-software/maus.git 
 </pre> 
 * Move into the @maus@ directory and check the branches present with: 
 <pre> 
 git branch -av 
 </pre> 
 The following branches should be present: 
 present  
 ** @master@ (the release branch) 
 ** @merge@ (the development branch) 
 ** @release-candidate@ (used by the release manager) 

 * Switch to the branch desired using e.g. for the release: 
 <pre> 
 git checkout master 
 </pre> 
 * Build MAUS as usual 

 h2. Development 

 h3. Set up a development branch 

 * Set up an account on github and add an ssh key 
 * Clone the MAUS repository as described above 
 * Fork the MAUS repository on github 
 ** Go to MAUS github page and login into github 
 ** Click "Fork" in the top right of the screen, selecting the option to fork to your own account 
 * Add your fork as a new remote in your local MAUS git repository 
 ** Copy the address of your new fork from github (something like @git@github.com:jbloggs/maus.git@, where jbloggs is your github username) 
 ** Return to the terminal and navigate to the MAUS git repository created earlier 
 ** Add your new forked repository using: 
 <pre> 
 git remote add my-fork git@github.com:jbloggs/maus.git 
 </pre> 
 where jbloggs is your github username. 
 * Fork the merge branch locally: 
 <pre> 
 git checkout merge 
 git checkout -b my-feature-branch 
 </pre> 
 * Push your local fork of the merge branch to your remote repository: 
 <pre> 
 git push my-fork my-feature-branch 
 </pre> 
 * Do some coding 
 * When ready add the files you have modified or created ready for committing: 
 <pre> 
 git add <files> 
 </pre> 
 * Commit your changes: 
 <pre> 
 git commit -m 'Some informative message about the changes' 
 </pre> 
 * Push the changes to your remote repository: 
 <pre> 
 git push my-fork my-feature-branch 
 </pre> 

 h3. Propose your branch for merging 

 * Run Jenkins test server job on your development branch (email the head of MAUS for help with setting up a test branch) 
 * When Jenkins has passed, return to your repository page on github and select @my-feature-branch@ from the drop-down menu on the left 
 * Click the "Pull request" button to propose merging into the trunk 
 * Make sure your branch is comfortable for merging - if not, edit some more until it is, commit and push, then try again