経由ですべてのリモート ブランチをプルしましたgit fetch --all
。マージしたいブランチは、git branch -a
remotes/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次の別名を提案するコメント欄:
から
aLocalBranch
、git 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
。