Syncing a fork branch from the web UI
- On GitHub Enterprise Server, navigate to the main page of the forked repository that you want to sync with the upstream repository.
- Select the Fetch upstream drop-down.
- Review the details about the commits from the upstream repository, then click Fetch and merge.
If the changes from the upstream repository cause conflicts, GitHub will prompt you to create a pull request to resolve the conflicts.
Syncing a fork branch with the GitHub CLI
GitHub CLI は、コンピューターのコマンドラインから GitHub を使用するためのオープンソースツールです。 コマンドラインから作業しているときは、GitHub CLI を使用して時間を節約し、コンテキストの切り替えを回避できます。 GitHub CLIについて学ぶには、「GitHub CLIについて」を参照してください。
To update the remote fork from its parent, use the gh repo sync -b BRANCHNAME
subcommand and supply your fork and branch name as arguments.
$ gh repo sync owner/cli-fork -b BRANCHNAME
If the changes from the upstream repository cause conflict then the GitHub CLI can't sync. You can set the -force
flag to overwrite the destination branch.
Syncing a fork branch from the command line
上流リポジトリとフォークを同期する前に、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://hostname/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
If your local branch didn't have any unique commits, Git will perform a fast-forward. For more information, see Basic Branching and Merging in the Git documentation.
$ git merge upstream/main > Updating 34e91da..16c56ad > Fast-forward > README.md | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-)
If your local branch had unique commits, you may need to resolve conflicts. 詳細は「マージコンフリクトに対処する」を参照してください。
参考: フォークの同期は、リポジトリのローカルコピーだけをアップデートします。 GitHub Enterprise Serverインスタンス 上のフォークをアップデートするには、変更をプッシュする必要があります。