私はすべてのリモートブランチをgit fetch --all
で引っ張りました。 git branch -a
でremotes/Origin/branchnameとしてマージしたいブランチを見ることができます。問題はそれがアクセスできないということです。マージやチェックアウトができません。
あなたはそれらのリモートトラッキングブランチ〜(git branch -r
でリストされている)をそれらのリモートの名前で参照することができます。
これらのリモートブランチの1つをローカルブランチにマージしたい場合は、
git checkout master
git merge Origin/aRemoteBranch
反対のシナリオ:上の図のように、ローカルブランチをローカルブランチにマージするのではなく、ローカルブランチをリモートブランチにマージする場合は、その上に new localブランチを作成する必要があります最初にリモートブランチ
git checkout -b myBranch Origin/aBranch
git merge anotherLocalBranch
ここでの考えは、「あなたのローカルブランチの1つ」(ここではanotherLocalBranch
)をリモートブランチ(Origin/aBranch
)にマージすることです。
そのためには、最初に "myBranch
"をそのリモートブランチを表すものとして作成します。それがgit checkout -b myBranch Origin/aBranch
部分です。
そして then anotherLocalBranch
をそれに(myBranch
に)マージすることができます。
マージをするときはいつでも、マージしたいブランチ(例えば "git checkout branch-i-am-working-in
")に入ってから、次のようにします。
git merge Origin/branch-i-want-to-merge-from
たぶんあなたは track ローカルブランチを持つリモートブランチを使いたいでしょう:
git branch new-local-branch
git branch --set-upstream-to=Origin/remote-branch new-local-branch
git checkout new-local-branch
git pull
最初にOriginからリモートブランチを取得します。
git fetch Origin remote_branch_name
リモートブランチをローカルブランチにマージする
git merge Origin/remote_branch_name
リモートブランチを既に取得していてgit branch -a
を実行している場合、
あなたは次のようなものを入手しました:
* 8.0
xxx
remotes/Origin/xxx
remotes/Origin/8.0
remotes/Origin/HEAD -> Origin/8.0
remotes/rep_mirror/8.0
その後、rep_mirror/8.0
を使って自分のリモートブランチをローカルに指定することができます。
トリックはremotes/rep_mirror/8.0
は機能しないがrep_mirror/8.0
は機能することです。
そのため、git merge -m "my msg" rep_mirror/8.0
のようなコマンドでマージが行われます。
(注:これは@VonCの回答に対するコメントです。コードブロックはコメントの形式に合わないため、別の回答として入力します)