Git でリモートブランチをローカルブランチにマージする

Kevin Amayi 2023年1月30日
  1. リモートリポジトリのクローンを作成し、変更をローカルで更新することにより、リモートブランチを Git のローカルブランチにマージする
  2. リモートリポジトリの変更を追跡してプルすることにより、リモートブランチを Git のローカルブランチにマージする
Git でリモートブランチをローカルブランチにマージする

このチュートリアルでは、リモートリポジトリのクローンを作成し、変更をローカルで更新することにより、リモート git ブランチをローカルブランチにマージします。

リモートリポジトリのクローンを作成し、変更をローカルで更新することにより、リモートブランチを Git のローカルブランチにマージする

maingh-pages の 2つのブランチを含むリモートリポジトリのクローンを作成します。

次に、ローカルブランチテストを作成し、リモートブランチ gh-pages を更新します。この後、gh-pages でリモート変更をプルし、それらをテストブランチにマージします。

<!-- The command to use is -->
git clone <remote-repo-url>
    
<!-- From your terminal run -->
git clone https://github.com/KEVINAMAYI/AkanNameGenerator.git

出力:

Cloning into 'AkanNameGenerator'...
remote: Enumerating objects: 94, done.
remote: Total 94 (delta 0), reused 0 (delta 0), pack-reused 94
Unpacking objects: 100% (94/94), 2.38 MiB | 1.86 MiB/s, done.

以下のコマンドを使用して、プロジェクトフォルダーと使用可能なブランチのリストに移動します。

<!-- get into project folder -->
cd AkanNameGenerator

<!-- List branches available -->
git branch -a

出力:

<!-- The asterix indicates we are on branch main -->
* main
remotes/origin/HEAD -> origin/main
remotes/origin/gh-pages
remotes/origin/main

次に、ローカルブランチテストを作成します。

git branch test

次に、ローカルブランチテストに切り替えます。

git checkout test

出力:

Switched to branch 'test.'

このコマンドを実行して、テストブランチにマージする前に、gh-pages の更新に進みます。

git fetch origin gh-pages

出力:

remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), 726 bytes | 363.00 KiB/s, done.
From https://github.com/KEVINAMAYI/AkanNameGenerator
* branch            gh-pages   -> FETCH_HEAD
4a458ff..4edc95b  gh-pages   -> origin/gh-pages

更新後、リモートブランチ gh-pages をマージしてテストします。

git merge origin/gh-pages

出力(ブランチ gh-pages に変更がある場合):

Updating f25a425..4a458ff
Fast-forward
js/global.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

出力(ブランチ gh-pages に変更がない場合):

Already up to date.

リモートリポジトリの変更を追跡してプルすることにより、リモートブランチを Git のローカルブランチにマージする

次に、mastergh-pages の 2つのブランチを含むリモートリポジトリのクローンを作成します。次に、ローカルブランチ another-branch を作成し、リモート main ブランチで行われた変更を追跡してプルするように設定します。

<!-- The command to use is -->
git clone <remote-repo-url>
    
<!-- From your terminal run -->
git clone https://github.com/KEVINAMAYI/AkanNameGenerator.git

出力:

Cloning into 'AkanNameGenerator'...
remote: Enumerating objects: 94, done.
remote: Total 94 (delta 0), reused 0 (delta 0), pack-reused 94
Unpacking objects: 100% (94/94), 2.38 MiB | 1.86 MiB/s, done.

次に、プロジェクトフォルダーに移動し、使用可能なブランチを次のように一覧表示する必要があります。

<!-- get into project folder -->
cd AkanNameGenerator

<!-- List branches available -->
git branch -a

出力:

<!-- The asterix indicates we are on branch main -->
* main
remotes/origin/HEAD -> origin/main
remotes/origin/gh-pages
remotes/origin/main

ローカルブランチ another-branch を作成します。

git branch another-branch

ローカルブランチ another-branch に切り替えます。

git checkout another-branch

出力:

Switched to branch 'another-branch'

次に、ブランチを another-branch に設定して、リモートのメインユニットの変更を追跡します。

git branch --set-upstream-to=origin/main another-branch

出力:

Branch 'another-branch' set up to track remote branch 'main' from 'origin'.

これで、リモートブランチ main で行われた変更を直接プルできます。

git pull

出力:

Merge made by the 'recursive' strategy.
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

関連記事 - Git Branch

関連記事 - Git Merge