Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

フォークを同期する

リポジトリのフォークを最新に保つために上流リポジトリと同期します。

Who can use this feature

People with write access for a forked repository can sync the fork to the upstream repository.

Web UI からフォークのブランチを同期する

  1. GitHub Enterprise Server で、アップストリー�  リポジトリと同期するフォークされたリポジトリのメイン ページに移動します。
  2. [アップストリー� のフェッチ] ドロップダウンを選択します。 [アップストリー� のフェッチ] ドロップダウン
  3. アップストリー�  リポジトリからのコミットの詳細を確認し、 [フェッチしてマージ] をクリックします。 [フェッチしてマージ] ボタン

アップストリー�  リポジトリからの変更によって競合が発生した� �合、GitHub は競合を解決するためのプルリクエストを作成するように求められます。

GitHub CLI を使ってフォークのブランチを同期する

GitHub CLI は、コンピューターのコマンド ラインから GitHub を使用するためのオープン ソース ツールです。 コマンドラインから作業しているときは、GitHub CLI を使用して時間を節約し、コンテキストの切り替えを回避できます。GitHub CLI の詳細については、「GitHub CLI について」を参照してく� さい。

親からリモート フォークを更新するには、gh repo sync -b BRANCHNAME サブコマンドを使って、フォークとブランチの名前を引数として指定します。

$ gh repo sync owner/cli-fork -b BRANCH_NAME

アップストリー�  リポジトリからの変更によって競合が発生した� �合、GitHub CLI では同期できません。宛先ブランチを上書きするように -force フラグを設定できます。

コマンド ラインからフォークのブランチを同期する

フォークをアップストリー�  リポジトリと同期する前に、Git でアップストリー�  リポジトリを指すリモートを構成する必要があります。 詳しくは、「フォーク用のリモート リポジトリの構成」をご覧く� さい。

  1. [ターミナル][ターミナル][Git Bash] を開きます。

  2. ワーキングディレクトリをローカルプロジェクトに変更します。

  3. 上流リポジトリから、ブランチと各ブランチのコミットをフェッチします。 BRANCHNAME へのコミットは、ローカル ブランチ upstream/BRANCHNAME に� �納されます。

    $ git fetch upstream
    > remote: Counting objects: 75, done.
    > remote: Compressing objects: 100% (53/53), done.
    > remote: Total 62 (delta 27), reused 44 (delta 9)
    > Unpacking objects: 100% (62/62), done.
    > From https://ホスト名/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
    >  * [new branch]      main     -> upstream/main
  4. フォークのローカルのデフォルト ブランチを確認します。この� �合は main を使用します。

    $ git checkout main
    > Switched to branch 'main'
  5. 上流のデフォルト ブランチ (この� �合は upstream/main) からの変更をローカルのデフォルト ブランチにマージします。 これにより、ローカルの変更を失うことなく、フォークのデフォルトブランチが上流リポジトリと同期されます。

    $ git merge upstream/main
    > Updating a422352..5fdff0f
    > Fast-forward
    >  README                    |    9 -------
    >  README.md                 |    7 ++++++
    >  2 files changed, 7 insertions(+), 9 deletions(-)
    >  delete mode 100644 README
    >  create mode 100644 README.md

    ローカル ブランチに一意のコミットがなかった� �合、Git は早送りを実行します。 詳細については、Git ドキュメントの「基本的な分岐とマージ」をご覧く� さい。

    $ git merge upstream/main
    > Updating 34e91da..16c56ad
    > Fast-forward
    >  README.md                 |    5 +++--
    >  1 file changed, 3 insertions(+), 2 deletions(-)

    ローカル ブランチに一意のコミットがある� �合は、競合の解決が必要になる� �合があります。 詳細については、「マージ コンフリクトに対処する」を参照してく� さい。

ヒント: フォークの同期では、リポジトリのローカル コピー� けが更新されます。 your GitHub Enterprise Server instance のフォークを更新するには、変更をプッシュする必要があります。