1. ホーム
  2. git

[解決済み] リモートトラッキングブランチからの 'git fetch' と 'git merge' の方法('git pull' のように)。

2022-10-05 10:34:26

質問

git でいくつかのリモート追跡ブランチを設定しましたが、'git fetch' でそれらを更新した後、ローカルブランチにマージすることができないようです。

例えば、私が 'an-other-branch' というリモートブランチを持っているとします。これを追跡用ブランチとしてローカルに設定します。

git branch --track an-other-branch origin/an-other-branch

ここまでは順調です。しかし、そのブランチが更新され(通常は私がマシンを移動し、そのマシンからコミットすることで)、元のマシンでそれを更新したい場合、フェッチ/マージで問題が発生しています。

git fetch origin an-other-branch
git merge origin/an-other-branch

これを実行するたびに、「すでに最新です」というメッセージが表示され、何もマージされません。

しかし

git pull origin an-other-branch

は常に期待通りに更新されます。

また、git diffを実行すると

git diff origin/an-other-branch

を見ると、違いがあることがわかるので、構文が間違っているのだと思います。

何が間違っているのでしょうか?

編集 [2010-04-09]: 何度か確認しましたが、間違いなく別のブランチにはいません。私の「git fetch」に続く「git merge」(上記のように)は、git pullと全く同じことをする必要がありますか?私はgit statusなどの結果を示すいくつかのワークフローを取得する予定です。

どのように解決するのですか?

ブランチを取得するのではなく、リモート全体を取得するのです。

git fetch origin
git merge origin/an-other-branch