Web UI からフォークのブランチを同期する
- GitHub Enterprise Server で、アップストリー� リポジトリと同期するフォークされたリポジトリのメイン ページに移動します。
- [アップストリー� のフェッチ] ドロップダウンを選択します。
- アップストリー� リポジトリからのコミットの詳細を確認し、 [フェッチしてマージ] をクリックします。
アップストリー� リポジトリからの変更によって競合が発生した� �合、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 でアップストリー� リポジトリを指すリモートを構成する必要があります。 詳しくは、「フォーク用のリモート リポジトリの構成」をご覧く� さい。
-
[ターミナル][ターミナル][Git Bash] を開きます。
-
ワーキングディレクトリをローカルプロジェクトに変更します。
-
上流リポジトリから、ブランチと各ブランチのコミットをフェッチします。
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
-
フォークのローカルのデフォルト ブランチを確認します。この� �合は
main
を使用します。$ git checkout main > Switched to branch 'main'
-
上流のデフォルト ブランチ (この� �合は
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 のフォークを更新するには、変更をプッシュする必要があります。