Project

General

Profile

Repository » History » Version 32

Simó Albert i Beltran, 12/29/2012 01:28 PM
Force to use origin branches in examples.

1 1 Pau Escrich
h1. Repository
2 1 Pau Escrich
3 1 Pau Escrich
h2. Structure
4 1 Pau Escrich
5 1 Pau Escrich
The qMp git repository is split in three branches:
6 1 Pau Escrich
7 1 Pau Escrich
# Master
8 1 Pau Escrich
# Testing
9 23 Simó Albert i Beltran
# Other: Features/Bugfixes
10 1 Pau Escrich
11 1 Pau Escrich
h3. Master
12 1 Pau Escrich
13 1 Pau Escrich
This is the main branch and all changes committed here must be tested in Testing branch before.
14 1 Pau Escrich
15 6 Simó Albert i Beltran
However the small bugfixes can be directly applied here. These changes must be merged in the testing branch.
16 1 Pau Escrich
17 10 Simó Albert i Beltran
<pre>
18 10 Simó Albert i Beltran
o---o---o---o---o master
19 10 Simó Albert i Beltran
                 \  
20 10 Simó Albert i Beltran
--o---o---o---o---o testing 
21 10 Simó Albert i Beltran
</pre>
22 10 Simó Albert i Beltran
23 22 Simó Albert i Beltran
*Example:*
24 30 Anonymous
<pre><code class="shell">
25 32 Simó Albert i Beltran
git checkout origin/testing
26 32 Simó Albert i Beltran
git merge origin/master
27 29 Simó Albert i Beltran
</code></pre>
28 22 Simó Albert i Beltran
29 22 Simó Albert i Beltran
30 1 Pau Escrich
h3. Testing
31 1 Pau Escrich
32 8 Simó Albert i Beltran
This is the branch for test new features and changes. The features must be already working features tested before in a specific branch by at least the developer. A feature can be committed here only when it is finished, but not in a middle state.
33 1 Pau Escrich
34 15 Simó Albert i Beltran
When the testing branch are deeply tested by more than one developer, than it can be merged on the master branch.
35 11 Simó Albert i Beltran
36 11 Simó Albert i Beltran
<pre>
37 11 Simó Albert i Beltran
o---o---o---o---o master
38 11 Simó Albert i Beltran
     \         /  
39 11 Simó Albert i Beltran
--o---o---o---o testing 
40 11 Simó Albert i Beltran
</pre>
41 11 Simó Albert i Beltran
42 16 Pau Escrich
*Example:*
43 11 Simó Albert i Beltran
44 16 Pau Escrich
Import master bugfixes to testing
45 30 Anonymous
<pre><code class="shell">
46 32 Simó Albert i Beltran
git checkout origin/testing
47 32 Simó Albert i Beltran
git merge origin/master
48 29 Simó Albert i Beltran
</code></pre>
49 16 Pau Escrich
50 16 Pau Escrich
Merge testing changes in master
51 30 Anonymous
<pre><code class="shell">
52 32 Simó Albert i Beltran
git checkout origin/master
53 32 Simó Albert i Beltran
git merge origin/testing
54 29 Simó Albert i Beltran
</code></pre>
55 16 Pau Escrich
56 12 Simó Albert i Beltran
h3. Other: Features/Bugfixes
57 1 Pau Escrich
58 8 Simó Albert i Beltran
The rest of the branches are temporal branches.
59 8 Simó Albert i Beltran
60 26 Simó Albert i Beltran
h4. Features
61 26 Simó Albert i Beltran
62 14 Simó Albert i Beltran
If it is about a new feature the name of the branch must be the name of the feature (of some name which identifies it). These branches are considered non-functional, so a non-finished feature can be committed here. This branch should preferably be based on a commit of master branch. Once the feature is finish and tested by at least the developer, it should be merged to testing.
63 1 Pau Escrich
64 9 Simó Albert i Beltran
<pre>
65 9 Simó Albert i Beltran
o---o---o---o---o master
66 14 Simó Albert i Beltran
     \
67 9 Simó Albert i Beltran
      o---o---o issue#23-new-feature
68 14 Simó Albert i Beltran
               \
69 9 Simó Albert i Beltran
o---o---o---o---o testing 
70 9 Simó Albert i Beltran
</pre>
71 9 Simó Albert i Beltran
72 16 Pau Escrich
*Example:*
73 9 Simó Albert i Beltran
74 30 Anonymous
<pre><code class="shell">
75 24 Simó Albert i Beltran
git checkout -b issue#23-new-feature origin/master
76 24 Simó Albert i Beltran
editor dir/file
77 25 Simó Albert i Beltran
git add dir/file
78 24 Simó Albert i Beltran
git commit
79 24 Simó Albert i Beltran
#test issue#23-new-feature branch
80 32 Simó Albert i Beltran
git checkout origin/testing
81 24 Simó Albert i Beltran
git merge issue#23-new-feature
82 29 Simó Albert i Beltran
</code></pre>
83 24 Simó Albert i Beltran
84 27 Simó Albert i Beltran
h4. Bugfixes
85 24 Simó Albert i Beltran
86 21 Pau Escrich
A bugfix must be implemented in a new branch. This branch must be based on a commit of the master branch. This branch should not be based on a commit of the testing branch because it may contain new features and these maybe cannot be imported in the master branch. This new branch can be merged in testing.
87 7 Simó Albert i Beltran
88 7 Simó Albert i Beltran
<pre>
89 7 Simó Albert i Beltran
o---o---o---o---o master
90 1 Pau Escrich
     \         /
91 9 Simó Albert i Beltran
      o---o---o issue#23-bugfix
92 7 Simó Albert i Beltran
               \
93 7 Simó Albert i Beltran
o---o---o---o---o testing 
94 7 Simó Albert i Beltran
</pre>
95 16 Pau Escrich
96 16 Pau Escrich
*Example:*
97 1 Pau Escrich
98 30 Anonymous
<pre><code class="shell">
99 28 Simó Albert i Beltran
git checkout -b issue#23-bugfix origin/master
100 28 Simó Albert i Beltran
editor dir/file
101 28 Simó Albert i Beltran
git add dir/file
102 28 Simó Albert i Beltran
git commit
103 28 Simó Albert i Beltran
#test issue#23-bugfix branch
104 28 Simó Albert i Beltran
git checkout origin/testing
105 28 Simó Albert i Beltran
git merge issue#23-bugfix
106 28 Simó Albert i Beltran
git checkout origin/master
107 28 Simó Albert i Beltran
git merge issue#23-bugfix
108 29 Simó Albert i Beltran
</code></pre>
109 28 Simó Albert i Beltran
110 28 Simó Albert i Beltran
111 1 Pau Escrich
h2. How to use it
112 1 Pau Escrich
113 2 Pau Escrich
114 2 Pau Escrich
h2. Good practices