リポジトリのフォーク
2020 年 6 月 30 日で Mercurial のサポートを終了します
Mercurial の機能およびリポジトリは 2020 年 6 月 30 日に、Bitbucket および Bitbucket API から削除されます。Bitbucket で新しい Mercurial リポジトリを作成する機能は 2020 年 2 月 1 日に無効化されました。詳細情報
Git や Mercurial では、head / trunk、または既存のブランチからブランチを作成します。これを行う場合、変更はメイン プロジェクトのリポジトリの一部となります。プロジェクトのまったく別のコピーで作業したい場合は、フォークを利用することを検討できます。
フォークとは、特定の時点でリポジトリをクローンし、そこから変更を進める方法です。フォークは、クローンと同義です。Bitbucket Cloud は元のリポジトリとフォークの間の関係を管理します。後でリポジトリに再びマージする可能性があるような重要な開発作業を行うような場合、フォークが特に便利です。基本的なワークフローは次のとおりです。
- Bitbucket でフォークを作成します。
- フォークされたリポジトリをローカル システムにクローンします。
- ローカル リポジトリを変更します。
- 変更をコミットします。
- Bitbucket でリモート フォークに変更をプッシュ バックします。
- フォークされたリポジトリ (ソース) から元のリポジトリ (ターゲット) にプル リクエストを作成します。
ワークフローの最後の手順は、元のリポジトリのオーナーが変更をマージするための作業です。
リポジトリのフォーク
- リポジトリで、一番左のグローバル サイドバーで + をクリックし、[GET TO WORK] の下の [このリポジトリをフォーク] を選択します。
[フォーク] ダイアログで、フォークのオプションを定義します。
オプション 説明 所有者 既定ではログインしたアカウントになります。複数のワークスペースでリポジトリを作成する権限を持っている場合、ドロップダウン メニューとして表示されます。 名前 フォークに名前を付けます。既定では、元のリポジトリと同じ名前になります。 説明 フォークの目的を説明します。 アクセス レベル 既定では、システムにより、元のリポジトリと同じアクセス レベルのフォークが作成されます。そのため、オリジナルが公開されている場合、フォークも公開されます。これを変更し、フォークを非公開にすることができます。元のリポジトリの管理者は、公開フォークが作成されるのを防ぐことができます。この場合、フォークするユーザーがアクセス権を変更することはできません。 権限 既定では、フォークはユーザー / グループ権限を継承します。たとえば、オリジナルへのアクセス権を持つアカウントが 4 つある場合、フォークはそれらのアカウントに同じアクセス権を付与します。アカウントで公開リポジトリをフォークすると、Bitbucket プランの制限を超えてしまう場合があります。フォークを非公開にするか、元のリポジトリからユーザーを継承しないことで、プランに影響が出るのを防ぐことができます。 プロジェクト管理 フォークで課題トラッカーや wiki を使用するかどうかを選択します。既定では、Bitbucket は元のリポジトリと同じ値を設定します。 フォーク場所 (Mercurial のみ) コード内のどこでリポジトリをフォークするかを選択します。このオプションは、1 つ以上のブランチ、タグ、またはリビジョンを持つ Mercurial リポジトリでのみ利用できます。このオプションは、Git リポジトリでは使用できません。 - [リポジトリをフォークする] をクリックします。システムによってフォークが作成され、リポジトリの [ソース] ページが開きます。
フォークの同期
リポジトリをフォークした後に、他のユーザーが変更をコミットして、リポジトリのデータが変更される場合があります。このような変更はフォークには自動表示されません。未処理のコミットをプルするには、フォークを同期する必要があります。
- フォークにアクセスします。
- フォークがコミットよりも遅れている場合、右端のサイドバーにある [リポジトリの詳細] ペインの下部に、未処理のコミット数を表示する [同期] ボタンが表示されます。
- フォークを元のリポジトリと同期するには、[リポジトリの詳細] ペインの下部にある [同期] ボタンをクリックします。
- リポジトリのメイン ブランチのみがフォークと同期されます。他のブランチの変更は検出されず、それらと同期することもできません。
- リポジトリのメイン ブランチではないブランチを同期するには、親リポジトリとフォークされたリポジトリの両方で、メイン ブランチとして同期するブランチを選択する必要があります。これを行うと、リポジトリの [ソース ] ページの右端のサイド バーにある [リポジトリの詳細] ペインに [同期] ボタンが表示されます。