回答:
それらのリモート追跡ブランチ〜(でリストされたgit branch -r
)をリモートの名前で参照できます。
リモートブランチをフェッチする必要があります:
git fetch origin aRemoteBranch
これらのリモートブランチの1つをローカルブランチにマージする場合:
git checkout master
git merge origin/aRemoteBranch
注1:長い履歴を持つ大規模なリポジトリの--depth=1
場合、を使用するときにオプションを追加する必要がありますgit fetch
。
注2:これらのコマンドは他のリモートリポジトリでも機能するため、フォークで作業してorigin
いるupstream
場合にとを設定できます。
反対のシナリオ:ローカルブランチの1つをリモートブランチにマージする場合(上記のようにリモートブランチをローカルブランチにマージするのではなく)、まず、そのリモートブランチの上に新しいローカルブランチを作成する必要があります。
git checkout -b myBranch origin/aBranch
git merge anotherLocalBranch
ここでの考え方は、「ローカルブランチの1つ」(ここanotherLocalBranch
)をリモートブランチ(origin/aBranch
)にマージすることです。
そのためには、最初にmyBranch
リモートブランチを表す「」を作成しますgit checkout -b myBranch origin/aBranch
。それがパートです。
そして、それにマージanotherLocalBranch
することができます(へmyBranch
)。
aLocalBranch
」を「myBranch
」で、「myBranch
」リモートブランチを表しますorigin/aBranch
。
aLocalBranch
はタイプミスではないとおっしゃっていますが、この「ありそうなタイプミス」を修正する最新の編集(2年後!)を承認しました。編集を元に戻す前に確認したいと思います。
マージを行うときはいつでも、マージしたいブランチ(例えば " git checkout branch-i-am-working-in
")に入り、次のようにします:
git merge origin/branch-i-want-to-merge-from
git fetch origin/branch-i-want-to-merge-from
最初にやらなきゃいけないと思いますよね?
git fetch origin develop
続いてgit merge origin/develop
git merge
一人ではそれはできません。
git add .
-> git commit -m <message>
-> git push -u origin <branch>
?
最初に、オリジンからリモートブランチをフェッチします。
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回答へのコメントです。コードブロックがコメント形式に適合しないため、これを別の回答とします)