~bzr-pqm/bzr/bzr.dev

4634.99.1 by Naoki INADA
import doc-ja rev90
1
ブランチを編成する
2
===================
3
4
ミラーブランチ
5
----------------
6
7
開発をするために分散型のワークフローを利用する際の主要な違いは\
8
メインのローカルブランチは変更を行う場所ではないことです。
9
代わりに、中心ブランチのそのままのコピーとして保存されます。
10
すなわち、これは *ミラーブランチ* です。
11
12
ミラーブランチを作るためには、共用リポジトリ(まだなければ)を作り\
13
ミラーを作るために ``branch`` コマンド(もしくは ``checkout``)を使います。
14
例です::
15
16
  bzr init-repo PROJECT
17
  cd PROJECT
18
  bzr branch sftp://centralhost/srv/bzr/PROJECT/trunk
19
20
タスクのブランチ
21
-----------------
22
23
それぞれの新しい機能もしくは修正は独自のブランチの中で開発されます。
24
これらのブランチは *機能ブランチ* もしくは *タスクブランチ* として言及されます -
25
用語はお互いに置き換えて使うことができます。
26
27
タスクブランチを作るためには、ミラーブランチに対して  ``branch`` コマンドを使います。
28
例です::
29
30
  bzr branch trunk fix-123
31
  cd fix-123
32
  (hack, hack, hack)
33
34
この方法には数多くの利点があります:
35
36
 1. 並行して複数の変更に取り組むことができます
37
 2. 変更の間の交換が減ります
38
 3. 複数の人々は準備ができるまでpeer-to-peerモードでブランチに取り組むことができます
39
40
とりわけ、変更が他のものより料理するのに時間がかかるのであれば、レビューを求めたり、
41
フィードバックを適用することができます。
42
中心ブランチにマージする前に個別のブランチで十分な品質の作業を完了させることで、
43
中心ブランチの品質と安定性は以前よりも高い水準を維持します。
44
45
ミラーブランチをリフレッシュする
46
---------------------------------
47
48
これを行うためには ``pull`` コマンドを使います::
49
50
  cd trunk
51
  bzr pull
52
53
最新のトランクを機能ブランチにマージする
54
-----------------------------------------
55
56
これを行うためには ``merge`` コマンドを使います::
57
58
  cd fix-123
59
  bzr merge
60
  (resolve any conflicts)
61
  bzr commit -m "merged trunk"
62
63
機能をトランクにマージする
64
---------------------------
65
66
異なる分散型のワークフローの方針は変わります、
67
すべての開発者がメイントランクにコミットする権限を持つ最もシンプルな\
68
事例は下記のとおりです。
69
70
ミラーがチェックアウトなら::
71
72
  cd trunk
73
  bzr update
74
  bzr merge ../fix-123
75
  (resolve any conflicts)
76
  bzr commit -m "Fixed bug #123"
77
78
ミラーがブランチの場合::
79
80
  cd trunk
81
  bzr pull
82
  bzr merge ../fix-123
83
  (resolve any conflicts)
84
  bzr commit -m "Fixed bug #123"
85
  bzr push
86
87
タスクブランチをバックアップする
88
--------------------------------
89
90
集中型ワークフローの副作用の1つは変更がITオペレーションの一部として\
91
バックアップされる中心位置にしょっちゅうコミットされることです。
92
タスクブランチを開発するとき、作業内容を中心位置に公開することは\
93
バックアップになるのでよい考えです(しかし共用位置であることは必須ではありません)。
94
この目的のためだけにローカルのタスクブランチをバックアップサーバー上で\
95
確立されたリモートブランチにバインドするとよいかもしれません。