Project

General

Profile

Git-maus » History » Version 3

Dobbs, Adam, 21 December 2016 14:14

1 1 Dobbs, Adam
h1. Git-maus
2
3
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.
4
5 2 Dobbs, Adam
h2. Obtaining MAUS
6
7 1 Dobbs, Adam
* Optional: set up an account on github and add an ssh key
8
* Clone the MAUS repository using:
9
<pre>
10
git clone git@github.com:mice-software/maus.git
11
</pre>
12
* Move into the @maus@ directory and check the branches present with:
13
<pre>
14
git branch -av
15
</pre>
16
The following branches should be present @master@ (the release branch), @merge@, @release-candidate@
17
* Switch to the branch desired using e.g. for the release:
18
<pre>
19
git checkout master
20
</pre>
21
* Build MAUS as usual
22 2 Dobbs, Adam
23
h2. Development
24
25 3 Dobbs, Adam
h3. Set up a development branch
26
27 2 Dobbs, Adam
* Set up an account on github and add an ssh key
28
* Clone the MAUS repository as described above
29
* Fork the MAUS repository on github
30
** Go to MAUS github page and login into github
31
** Click "Fork" in the top right of the screen, selecting the option to fork to your own account
32
* Add your fork as a new remote in your local MAUS git repository
33
** Copy the address of your new fork from github (something like @git@github.com:jbloggs/maus.git@, where jbloggs is your github username)
34
** Return to the terminal and navigate to the MAUS git repository created earlier
35
** Add your new forked repository using:
36
<pre>
37
git remote add my-fork git@github.com:jbloggs/maus.git
38
</pre>
39
where jbloggs is your github username.
40
* Fork the merge branch locally:
41
<pre>
42
git checkout merge
43
git checkout -b my-feature-branch
44
</pre>
45
* Push your local fork of the merge branch to your remote repository:
46
<pre>
47
git push my-fork my-feature-branch
48
</pre>
49
* Do some coding
50
* When ready add the files you have modified or created ready for committing:
51
<pre>
52
git add <files>
53
</pre>
54
* Commit your changes:
55
<pre>
56
git commit -m 'Some informative message about the changes'
57 1 Dobbs, Adam
</pre>
58 3 Dobbs, Adam
* Push the changes to your remote repository:
59
<pre>
60
git push my-fork my-feature-branch
61
</pre>
62
63
h3. Propose your branch for merging
64
65
* Run Jenkins test server job on your development branch (email the head of MAUS for help with setting up a test branch)
66
* When Jenkins has passed, return to your repository page on github and select @my-feature-branch@ from the drop-down menu on the left
67
* Click the "Pull request" button to propose merging into the trunk
68
* Make sure your branch is comfortable for merging - if not, edit some more until it is, commit and push, then try again