リモートブランチをローカルにマージする方法 質問する

リモートブランチをローカルにマージする方法 質問する

経由ですべてのリモート ブランチをプルしましたgit fetch --all。マージしたいブランチは、git branch -aremotes/origin/branchname で確認できます。問題は、アクセスできないことです。マージもチェックアウトもできません。

ベストアンサー1

リモート追跡ブランチ ~( でリストされているgit branch -r) をリモートの名前で参照できます。

リモート ブランチを取得する必要があります:

git fetch origin aRemoteBranch

リモート ブランチの 1 つをローカル ブランチにマージする場合は、次の手順を実行します。

git checkout aLocalBranch
git merge origin/aRemoteBranch

注 1:長い履歴を持つ大規模なリポジトリの場合は、--depth=1を使用するときにオプションを追加する必要がありますgit fetch

注 2:これらのコマンドは他のリモート リポジトリでも機能するため、フォークで作業している場合は とoriginを設定できます。upstream

注3ユーザー3265569次の別名を提案するコメント欄:

からaLocalBranchgit combine remoteBranch
エイリアスを実行します:

combine = !git fetch origin ${1} && git merge origin/${1}

逆のシナリオ: ローカル ブランチの 1 つをリモート ブランチにマージする場合 (上記のようにリモート ブランチをローカル ブランチにマージするのではなく)、まずそのリモート ブランチの上に新しいローカル ブランチを作成する必要があります。

git checkout -b myBranch origin/aBranch
git merge anotherLocalBranch

ここでの考え方は、「ローカル ブランチの 1 つ」(ここではanotherLocalBranch) をリモート ブランチ ( origin/aBranch) にマージすることです。
そのためには、まずmyBranchそのリモート ブランチを表す「 」を作成します。これが の部分ですgit checkout -b myBranch origin/aBranch
そしてanotherLocalBranchそれに ( に)マージできますmyBranch

おすすめ記事