Sourcetree ブランチを使用して更新をマージする
宇宙総合メール マガジンを見て、宇宙ステーションで使いたいスピーカーを見つけたとします。大音量を出力でき、無重力状態でぶつかっても問題ないような柔らかいものです。唯一の問題は非常に高額という点です。そのため、備品のリストに正式に追加する前に、承認が必要となります。
待っている間に、リクエスト リストの備品を追加できるよう、フィーチャー ブランチを作成します。承認を受けたら、フィーチャー ブランチからメイン ブランチにリクエスト ファイルをマージします。
ブランチは、同僚と協力して作業する際に最も力を発揮します。プロジェクトの自分の担当部分を自分のブランチで作業し、Bitbucket から更新をプルした後、準備が整ったらすべての作業をメイン ブランチにマージすることができます。アトラシアンのドキュメントでは、ブランチを使用する理由についてさらに説明しています。
ステップ1. ブランチを作成して変更する
ブランチを作成して、備品のリクエスト ファイルにスピーカーを追加します。Git と Mercurial ではブランチの機能は異なりますが、Sourcetree では同様の方法で作成できます。
- Sourcetree で、[ブランチ] ボタンをクリックします。
- Git と Mercurial のどちらのリポジトリを使用しているかによって、新しいブランチを作成する際に表示されるポップアップが異なります。[新しいブランチ] または [新しいブランチの作成] フィールドで、ブランチの名前に「
wish-list
」と入力します。 - [ブランチの作成] または [OK] をクリックします。
- Sourcetree で、[Finder で表示] ボタンをクリックします。システムのディレクトリが開きます。
- ディレクトリ フォルダで、テキスト エディタを使って
supplyrequest
ファイルを開きます。 次のアイテムを備品のリストに追加することで、ファイルに変更を加えます。
<li>anti-gravity speakers</li>
- ファイルを保存します。
- Sourcetree でビューを開くと、リポジトリに未コミットの変更が表示されていることがわかります。
ここで、supplyrequest
ファイルを追加して最初にコミットしたときと同じ操作を実行します。 - Git リポジトリがある場合は、
supplyrequest
- 一番上の コミット ボタンをクリックしてファイルをコミットします。
- メッセージ ボックスに、「Adding an item for my wish list (ウィッシュ リストにアイテムを追加する)」と入力します。
ボックスの下の [コミット] ボタンをクリックします。Sourcetree で、
wish-list
ブランチでファイルが更新されたことがわかります。
ステップ 2. ブランチからファイルの変更をマージする
スピーカーが承認されました。次に、メインの備品リストで wish-list アイテムを更新します。
- まず、メイン ブランチに戻ります。Sourcetree の左側のメニューで [ブランチ] ラベルの右側にカーソルを動かすと、[表示] という単語が表示されます。
- [表示] が表示されたら、それをクリックします。
ブランチの見出しの下には、このリポジトリの 2 つのブランチ (メイン ブランチとwish-list
ブランチ) が表示されます。Git リポジトリのメイン ブランチはmaster
と呼ばれます。Mercurial リポジトリのメイン ブランチはdefault
と呼ばれます。 メイン ブランチ (Git の場合は master、Mercurial の場合は default) をダブルクリックしてそのブランチに切り替えます。
- [マージ] ボタンをクリックします。
- 表示されるポップアップで、
wish-list
ブランチのコミットがハイライト表示されていることを確認します。このブランチのコミットをメイン ブランチに追加するように指定しています。 - Git リポジトリがある場合、下部で次のオプションを選択します: [fast-forward でマージが解決された場合もコミットを作成する]
- [OK] をクリックします。
wish-list のアイテムでメイン ブランチのsupplyrequest
ファイルを更新しました。Git と Mercurial リポジトリのどちらを利用しているかに基づいて、Sourcetree の外観はわずかに異なります。 - Git リポジトリであれば、これで完了です。Mercurial リポジトリの場合、変更をコミットする必要があります。一番上の [コミット] ボタンをクリックします。コミット メッセージの既定の説明は「Merge」です。メッセージをそのままにして先へ進み、[コミット] をクリックします。
ステップ 3. 変更を Bitbucket にプッシュする
Sourcetree で、[プッシュ] ボタンをクリックしてコミットされた変更をプッシュします。
表示されたダイアログ ボックスで [OK] ボタンをクリックして、変更をローカル リポジトリにプッシュします。
Bitbucket リポジトリの [概要] ページをクリックすると、[最近のアクティビティ] ストリームにプッシュが表示されます。
[コミット] をクリックすると、ローカル システムで行ったコミットが表示されます。変更では、ローカル システムと同じコミット コードが保持されます。
[ソース] をクリックしてから、
supplyrequest
ファイルをクリックします。ファイルに対する最後の変更に、先ほどプッシュしたコミットのコードがあることがわかります。このファイルのコミット済み変更を確認するには、次の図のように、ファイル履歴リストをクリックします。
完了です!
大変な作業でした。おそらく、宇宙へロケットを打ち上げる際と比べたら大したことはないでしょう。これで Bitbucket について多くを学び、宇宙ステーションの活動をはるかにうまく実行する準備が整いました。では、少し休憩して、星空を眺めましょう。
Bitbucket と Sourcetree についてさらに詳しく学習したい方は、同僚のリポジトリを更新する際の問題をご確認ください。