リポジトリのブランチまたはフォーク
There are a number of ways to get your Bitbucket Cloud repository code so that you can work on the project. Each method is slightly different and is done for different reasons.
ブランチ、フォークとは
ブランチとフォークは、メインのコード行から分岐するための 2 つの方法です。Mercurial と Git の両方に、ローカル レベルでのブランチの概念があります。リポジトリ コードのブランチは、木の枝と同様、引き続き元のリポジトリの一部となります。分岐されたコード (メイン トランク) とブランチは、互いを認識し、互いに依存します。木の枝 (ブランチ) と同じように、コード ブランチは元となる幹 (元のコード ベース) を把握します。
フォークは、クローンまたはコピーの別の呼び名です。フォークというプログラミング用語は、既存のプロセスのコピーを作り出す Unix のシステム コールからの派生です。そのため、ブランチとは異なり、フォークは元のリポジトリから独立しています。元のリポジトリが削除されても、フォークは残ります。リポジトリをフォークすると、そのリポジトリおよびそのブランチがすべて取得されます。
DVCS ホスティングの進化とともに、フォークという用語も変化しました。Bitbucket ソフトウェアはフォークの管理機能を導入しています。Bitbucket のリポジトリのフォークには、シンプルな DVCS でのクローンでは通常利用できない機能があります。たとえば、Bitbucket では、フォークの元となるリポジトリを常に確認できます。これは、ローカル システム上の DVCS クローンでは行なえません。
ブランチとフォークの比較
ブランチとフォークのどちらをどの程度使用するかは、作業環境によって異なります。フォークとブランチの機能でさまざまな作業を行い、それらを組み合わせることもできます。これについてのディスカッションをインターネットで検索できます。一般的に、ホスト型システムでは、リポジトリ管理者が以下に当てはまる場合にフォークがすすめられます。
- リポジトリでのユーザー アクセスを管理したくない。
- マージを細かく制御したい。
- 個別ブランチをサポートしたい。
- 実験と変更を容易に破棄したい。
Bitbucket で開発組織用のブランチを作成することをおすすめします。アトラシアンでは Vincent Driessen の GitFlow テクニックを変更したものを使用しています。Bitbucket ブランチは次のような場合に便利です。
- 互いに信頼し、緊密にコミュニケーションをとっているプログラマーの小規模なグループがある。
- 開発組織にリポジトリへの書き込みアクセス権限を与えたいと思っている。
- 短時間の反復サイクルがある。
Bitbucket はブランチとフォークの両方をサポートしているため、用途に応じて自由に選ぶことができます。
リポジトリのフォークまたはブランチのクローン
プロジェクトでファイルを更新したり新しいファイルを追加したりして作業したい場合、お使いのマシンまたはローカル ネットワーク上にリモート Bitbucket リポジトリのローカル クローンを作成する必要があります。これを実行するには、Bitbucket リポジトリの [クローン] ボタンを使用します。リポジトリをフォークした場合は、単純にフォークをクローンします。リポジトリのブランチを作成した場合、リポジトリをクローンしてブランチをチェックアウトします。
「Bitbucket リポジトリのクローン方法」をご覧ください。