リポジトリのブランチ
ブランチを使用すると、メインのコードベースに影響を与えずに新しい機能の作業に取り組めます。Bitbucket、Jira、またはターミナルからブランチを作成できます。変更を行ったあと、そのブランチを Bitbucket にプッシュすることで、プル リクエストでのレビューを依頼できます。
ブランチの作成
Git ブランチを作成するには、Bitbucket で作成する方法、ローカルのコマンド ラインで作成する方法、Jira で作成する方法の 3 通りがあります。
特殊文字はエスケープする必要があるため、可能な場合は作成するブランチ名に特殊文字を含めないでください。ブランチ名に安全に使用できる既定の文字セットは、次のとおりです。
英語のアルファベット (
a
~z
、A
~Z
)数字 (
0
~9
)一部の句読点:
ピリオド (
.
)ハイフン (
-
)アンダースコア (
_
)フォワード スラッシュ (
/
)
混乱を避けるために、ブランチ名の先頭には文字を使用してください。
Bitbucket からブランチを作成する方法
リポジトリから [作成] ボタンを選択します。
ドロップダウン メニューから [ブランチ] を選択します。
表示されたポップアップから、[タイプ] (ブランチ モデルを使用している場合) を選択し、ブランチ名を入力して、[作成] をクリックします。
注: Bitbucket または Jira の作業項目からブランチを作成するたびに、Bitbucket は参照、ファイル システム、またはシェルから無効な文字を削除して、有効な代替文字に置き換えます。
ブランチを作成したら、ローカル システムからブランチをチェックアウトする必要があります。Bitbucket では、次のコマンドに似たフェッチおよびチェックアウト コマンドを使用できます。
$ git fetch && git checkout <feature>
ローカル側で変更を行ってから、その変更を追加およびコミットし、
<feature>
ブランチにプッシュします。$ git add .
$ git commit -m "adding a change from the feature branch"
$ git push origin <feature>
リポジトリの [ソース] ページをクリックします。ブランチのドロップダウンに
main
ブランチと<feature>
ブランチの両方が表示されます。フィーチャー ブランチにコミットを行うと、そのブランチに固有のファイルが表示されます。
ローカルでブランチを作成する方法
リポジトリのクローン バージョンがある場合、ローカルでブランチを作成できます。
ターミナル ウィンドウから、リポジトリのブランチを一覧表示します。
$ git branch
リポジトリで新しいフィーチャー ブランチを作成します。
$ git branch <feature_branch>
作業するためにフィーチャー ブランチに切り替えます。
$ git checkout <feature_branch>
git branch
コマンドを使用して、再びブランチを一覧表示します。新しいフィーチャー ブランチへの変更をコミットします。
$ git add .
$ git commit -m "adding a change from the feature branch"
main
ブランチに切り替えます。$ git checkout main
フィーチャー ブランチを Bitbucket にプッシュします。
$ git push origin <feature_branch>
Bitbucket でリポジトリの [ソース] ページを表示します。
main
ブランチとフィーチャー ブランチの両方が表示されます。フィーチャー ブランチを選択すると、対応した [ソース] ページが表示されます。フィーチャー ブランチを選択して、そのブランチの最近のコミットを表示します。
Jira の作業項目からブランチを作成する方法
Jira でブランチを作成するには、Jira が Bitbucket と接続されている必要があります。
[開発] パネルで、[ブランチを作成] をクリックします。Bitbucket のブランチ作成画面が表示されます。
ブランチの作成先となるリポジトリを選択します。
[ブランチ タイプ] と [ブランチ名] を選択して、[ブランチを作成] をクリックします。ブランチ モデルが設定されている場合は、Bitbucket が Jira の作業項目タイプに基づいてブランチ タイプを提案する場合があります。
新しいブランチが作成されると、Bitbucket はファイルの一覧を表示します。これで、ローカル リポジトリへのプルを行い、新しいブランチに切り替えることができます。
ブランチ モデル
ブランチ モデルを使用してリポジトリのブランチ ベース ワークフローを定義できます。ワークフローをブランチ タイプにマッピングすると、管理者は利用可能なブランチ タイプを設定して、ブランチ名の一貫性を確保することができます。ブランチのプリフィックス案が表示されますが、独自の命名規則を指定することもできます。一貫した命名規則があると、ブランチをタイプごとに簡単に識別することができます。また、開発および本番ブランチを定義することもできます。これにより、作成やプル リクエスト時のソースやターゲット ブランチの推奨精度を改善することができます。
ブランチ タイプ
ソフトウェア開発では、複数のブランチ タイプがよく使用されます。このセクションでは、各ブランチ タイプの用途と、各ブランチ タイプのプリフィックスに関する一般的な規則について説明します。Bitbucket では、プリフィックスは開発または本番以外のすべてのブランチ用に変更できます。
開発ブランチ 通常は機能に関連する作業用の連携ブランチで、多くの場合は既定ブランチまたは独自の名前を持つブランチです。プル リクエスト ワークフローの場合、新しいフィーチャー ブランチのターゲット ブランチです。 |
|
本番環境ブランチ リリースのデプロイに使用します。開発ブランチから分岐し、開発ブランチにマージされます。Gitflow ベースのワークフローでは、新しい本番環境リリースの準備に使用されます。 | 場合によって異なる |
フィーチャー ブランチ 特定の機能の作業または改善に使用されます。一般に、プル リクエストを使用して、開発ブランチから分岐し、開発ブランチにマージされます。 |
|
リリース ブランチ リリース タスクや長期的なメンテナンス バージョンに使用されます。開発ブランチから分岐し、本番環境ブランチにマージされます。 |
|
バグ修正ブランチ 一般にリリース ブランチの修正に使用されます |
|
ホットフィックス ブランチ 開発ブランチの変更に影響を与えずに本番環境ブランチを素早く修正するのに使用されます。Gitflow ベースのワークフローでは通常、変更は本番環境ブランチとデプロイメント ブランチにマージされます。 |
|
リポジトリのブランチ モデルの構成
リポジトリのブランチ モデルを設定する方法は、次のとおりです (リポジトリ管理者権限が必要)。
[リポジトリ設定] に移動します。
[ワークフロー] で [ブランチ モデル] を選択します。
リポジトリ ブランチ モデルの詳細を選択し、[保存] をクリックします。
ブランチでコミットを一覧表示する
Bitbucket はブランチ別にコミットのリストを保持します。リストでは、main ブランチより先の保留中のコミットがあるオープンなブランチのみを示します。特定のブランチに関連付けられているコミットを表示するには、リポジトリを表示して次の手順に従います。
[コミット] ページに移動します。
[すべてのブランチ] がまだ選択されていない場合は、[すべてを表示] を選択します。
コミット タグのリンクをクリックすると、コンテンツの詳細を表示できます。
ブランチをクローズする
リポジトリのブランチを定期的に取り除くことが重要です。ブランチをクローズすると、Bitbucket インターフェイスからブランチが削除されます。ローカル リポジトリ内のブランチには影響しません。これは、Git または Hg の関連コマンドを使用し、必要に応じて削除する必要があります。
ブランチは 2 つの方法でクローズできます。
リポジトリの [ブランチ] ページから、右側のオプション リンクにカーソルを合わせて [ブランチの削除] を選択します。
ブランチでプル リクエストを作成する際に、[ブランチのクローズ] チェックボックスを選択します。これは、プル リクエストがマージされるとブランチをクローズするものです。
Bitbucket はブランチ別にコミットのリストを保持します。リストでは、main ブランチより先の保留中のコミットがあるオープンなブランチのみを示します。特定のブランチに関連付けられているコミットを表示するには、リポジトリを表示して次の手順に従います。
[コミット] ページに移動します。
[すべてのブランチ] がまだ選択されていない場合は、[すべてを表示] を選択します。
コミット タグのリンクをクリックすると、コンテンツの詳細を表示できます。
プル リクエストのマージ時のブランチ削除
プル リクエストをマージする際に、マージの完了後にソース ブランチを削除するように選択できます。プロジェクトおよびリポジトリ管理者は、既定動作をオン (マージ後にブランチを削除する) またはオフ (マージ後にブランチは削除されない) のいずれかに設定できます。
ユーザーはプル リクエストをマージするときにこの設定をオーバーライドできます。
マージ時のブランチ削除の既定を設定する
マージ時のブランチ削除は既定ではオフに設定されているため、[プル リクエストをマージ] ダイアログのブランチ削除のオプションは選択されません。
制限事項
ソース ブランチ削除を既定で有効にすると、新たに作成されたプル リクエストに対してのみ、既定のソース ブランチ削除設定が適用されます。
この既定設定は、ブランチ権限によってブランチの削除が禁止されているブランチには設定されず影響もありません。
リポジトリのマージ時のソース ブランチ削除の既定のステータスを変更するには (リポジトリ管理者権限が必要)、次の手順に従います。
マージ時のブランチ削除の既定を設定するリポジトリに移動します。
左側のサイドバーで [リポジトリの設定] を選択します。
左側のサイドバーの [ ワークフロー] で [ブランチ モデル] を選択します。
[既定でソース ブランチを削除する] で、次のいずれかのオプションを選択します。
オフ - プル リクエストをマージするときに、ソース ブランチを削除するためのオプションは選択されません。
オン - プル リクエストをマージするときに、ソース ブランチを削除するためのオプションが選択されます。
プロジェクトのマージ時のソース ブランチ削除の既定のステータスを変更するには (プロジェクト管理者権限が必要)、次の手順に従います。
マージ時のブランチ削除の既定を設定するプロジェクトに移動します。
左側のサイドバーで [プロジェクトの設定] を選択します。
左側のサイドバーの [ ワークフロー] で [ブランチ モデル] を選択します。
[既定でソース ブランチを削除する] で、次のいずれかのオプションを選択します。
オフ - プル リクエストをマージするときに、ソース ブランチを削除するためのオプションは選択されません。
オン - プル リクエストをマージするときに、ソース ブランチを削除するためのオプションが選択されます。
ブランチの一括削除
次の手順に従って、ブランチを一括削除できます。
リポジトリで、左側のサイドバーの [ブランチ] を選択します。
(…) > [Delete multiple (複数削除)] をクリックします。
削除するブランチをチェックし、[Delete selected branches (選択したブランチの削除)] をクリックします。
選択内容を確認します。
この内容はお役に立ちましたか?