1. ホーム
  2. ギット

[解決済み】Git: リモートブランチをローカルにマージする

2022-04-06 02:50:49

質問

すべてのリモートブランチを git fetch --all . マージしたいブランチは git branch -a をremotes/origin/branchnameとします。問題は、それがアクセスできないことです。私はマージもチェックアウトもできません。

どうすればいいですか?

これらのリモートトラッキングブランチ~(リストには git branch -r ) を、そのリモートの名前に置き換えてください。

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

git fetch origin aRemoteBranch

リモートブランチの1つをローカルブランチにマージしたい場合。

git checkout aLocalBranch
git merge origin/aRemoteBranch

注1: 長い歴史を持つ大規模なレポの場合、そのレポに対応するために --depth=1 オプションを使用する場合 git fetch .

注2: これらのコマンドは他のリモートレポジトリでも動作するので originupstream フォークで作業している場合

注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 をそれに加える(to myBranch ).