Project

General

Profile

Git-maus » History » Revision 3

Revision 2 (Dobbs, Adam, 21 December 2016 14:08) → Revision 3/44 (Dobbs, Adam, 21 December 2016 14:14)

h1. Git-maus 

 Besides Launchpad and bazaar MAUS has beta level support for git and github. 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 @master@ (the release branch), @merge@, @release-candidate@ 
 * 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