リポジトリのブランチ
ブランチを利用すると、メインのコードベースに影響を与えずに新しい機能の作業に取り組むことができます。Bitbucket、Jira Software、またはターミナルからブランチを作成できます。変更を行った後、そのブランチを Bitbucket にプッシュしてプル リクエストでのレビューを依頼できます。
ブランチの作成
Git および Mercurial リポジトリでブランチを作成できます。Git ブランチには常に名前がありますが、Mercurial にはブランチと名前付きブランチの概念があります。詳細については、スティーブ・ロッシュのガイドをご覧ください。このドキュメントでは、2 つのシステムでのブランチについてわかりやすく説明されています。
Git ブランチの作成
Git ブランチを作成するには、Bitbucket から作成する方法、ローカルのコマンド ラインから作成する方法、Jira Software から作成する方法の 3 つの方法があります。
Bitbucket からブランチを作成する方法
- リポジトリのグローバル サイドバーで + をクリックして、[作業に取りかかりましょう] の下の [ブランチの作成] を選択します。
表示されたポップアップから、[タイプ] (ブランチ モデルを使用している場合) を選択し、ブランチ名を入力して、[作成] をクリックします。
注意
Bitbucket または Jira Software の課題からブランチを作成するたびに、Bitbucket はリファレンス、ファイル システム、またはシェルから無効な文字を削除し、有効な代替文字に置き換えます。
ブランチを作成したら、ローカル システムからブランチをチェックアウトする必要があります。Bitbucket では、次のコマンドに似たフェッチおよびチェックアウト コマンドを使用できます。
$ git fetch && git checkout <feature>
ローカル側で変更を行ってから、その変更を追加およびコミットし、
<feature>
ブランチにプッシュします。$ git add .
$ git commit -m "adding a change from the feature branch"
$ git push origin <feature>リポジトリの [ソース] ページをクリックします。ブランチのドロップダウンに
master
と<feature>
ブランチの両方が表示されます。feature>ブランチにコミットを行うと、そのブランチに固有のファイルが表示されます。
ローカルでブランチを作成する方法
リポジトリのクローン バージョンがある場合、ローカルでブランチを作成できます。
ターミナル ウィンドウから、リポジトリのブランチを一覧表示します。
$ git branch
* master
この出力は 1 つのブランチ (
master
) があることを示し、アスタリスク (*) は現在そのブランチがアクティブであることを示します。リポジトリで新しいフィーチャー ブランチを作成します。
$ git branch <feature_branch>
作業するためにフィーチャー ブランチに切り替えます。
$ git checkout <feature_branch>
git branch
コマンドを使用して、再びブランチを一覧表示します。新しいフィーチャー ブランチへの変更をコミットします。
$ git add .
$ git commit -m "adding a change from the feature branch"master
ブランチに切り替えます。$ git checkout master
フィーチャー ブランチを Bitbucket にプッシュします。
$ git push origin <feature_branch>
Bitbucket でリポジトリの [ソース] ページを表示します。master と
master
ブランチの両方が表示されます。feature ブランチを選択すると、対応した [ソース] ページが表示されます。feature ブランチを選択して、そのブランチの最近のコミットを表示します。
Mercurial ブランチの作成
Mercurial ブランチを作成する場合、ローカルで作成するか、Jira Software から作成することができます。
リポジトリで新しい機能ブランチを作成します。
$ hg branch <feature_branch>
作業ディレクトリでは何も変更されません。
branch
コマンドを使用して、次のコミットで使用するブランチ名を Mercurial に指定します。hg branches
コマンドを使用すると、default
ブランチのみが引き続き存在することがわかります。作業用のコピーでファイルの編集、ファイルの追加、およびコミットを行います。
- 変更をコミットします。
hg branches
コマンドをもう一度実行します。$ hg branches
feature 3159:6ab9a159fc43 default 3158:5b8b05432593 (inactive)
フィーチャー ブランチを Bitbucket にプッシュします。これを行うには、
hg push -f
を使用して強制プッシュを行う必要があります。$ hg push --force
Jira Software の課題からブランチを作成する方法
Jira Software でブランチを作成するには、Jira Software が Bitbucket と接続されている必要があります。
- In the Development panel, click Create Branch. This will open up Bitbucket's create branch screen.
- ブランチの作成先となるリポジトリを選択します。
[ブランチ タイプ] および [ブランチ名] を選択し、[ブランチを作成] をクリックします。ブランチ モデルが設定されている場合、Bitbucket が Jira Software の課題タイプに基づいてブランチ タイプを提案する場合があります。
- 新しいブランチが作成されると、Bitbucket はファイルの一覧を表示します。これで、ローカル リポジトリへのプルを行い、新しいブランチに切り替えることができます。
ブランチ モデル
ブランチ モデルを使用してリポジトリのブランチ ベース ワークフローを定義できます。ワークフローをブランチ タイプにマッピングすると、管理者は利用可能なブランチ タイプを設定して、ブランチ名の一貫性を確保することができます。ブランチのプリフィックス案が表示されますが、独自の命名規則を指定することもできます。一貫した命名規則があると、ブランチをタイプごとに簡単に識別することができます。また、開発および本番ブランチを定義することもできます。これにより、作成やプル リクエスト時のソースやターゲット ブランチの推奨精度を改善することができます。
Branch types
ソフトウェア開発では、複数のブランチ タイプがよく使用されます。このセクションでは、各ブランチ タイプの用途と、各ブランチ タイプのプリフィックスに関する一般的な規則について説明します。Bitbucket では、プリフィックスは開発または本番以外のすべてのブランチ用に変更できます。
Development branch Usually the integration branch for feature work and is often the default branch or a named branch. For pull request workflows, the branch where new feature branches are targeted. |
| |
Production branch Used for deploying a release. Branches from, and merges back into, the development branch. In a Gitflow-based workflow it is used to prepare for a new production release. | varies | |
Feature branch 特定の機能の作業または改善に使用されます。一般に、プル リクエストを使用して、開発ブランチから分岐し、開発ブランチにマージされます。 | feature/ | |
Release branch リリース タスクや長期的なメンテナンス バージョンに使用されます。開発ブランチから分岐し、本番環境ブランチにマージされます。 | release/ | |
Bugfix branch Typically used to fix Release branches. | bugfix/ | |
Hotfix branch Used to quickly fix a Production branch without interrupting changes in the development branch. In a Gitflow-based workflow, changes are usually merged into the production and development branches. | hotfix/
|
Configure a repository's branching model
リポジトリのブランチ モデルを設定する方法は、次のとおりです (リポジトリ管理者権限が必要)。
- [リポジトリ設定] に移動します。
- [ワークフロー] で [ブランチ モデル] を選択します。
- リポジトリ ブランチ モデルの詳細を選択し、[保存] をクリックします。
ブランチでコミットを一覧表示する
Bitbucket は、ブランチ別にコミットのリストを保持します。リストは、master より先の保留中のコミットがある、オープンなブランチのみを示します。特定のブランチに関連付けられているコミットを表示するには、リポジトリを表示して以下を実行します。
- [コミット] ページに移動します。
- Choose Show all if All branches isn't already selected.
You'll see a list of commits with branch tags to the right and a graph to the left:
- コミット タグのリンクをクリックすると、コンテンツの詳細を表示できます。
ブランチをクローズする
リポジトリのブランチを定期的に取り除くことが重要です。ブランチをクローズすると、Bitbucket インターフェイスからブランチが削除されます。ローカル リポジトリ内のブランチには影響しません。これは、Git または Hg の関連コマンドを使用し、必要に応じて削除する必要があります。
ブランチは 2 つの方法でクローズできます。
- リポジトリの [ブランチ] ページから、右側のオプション リンクにカーソルを合わせて [ブランチの削除] を選択します。
- When you create a pull request on a branch, pick the Close branch checkbox, which closes the branch when the pull request merges.