あるlocal作業環境で、リモートブランチのcommitが進んでいる状態でgit fetch origin develop
したところ、下記のように"FETCH_HEAD"だけが更新され、リモート追跡ブランチ"origin/develop"に反映されませんでした。
From bitbucket.org:xxxxxxx/xxxxxxx * branch develop -> FETCH_HEAD
私が期待していたのは下記のような結果です。(引数なしでgit fech
した場合は問題なくリモート追跡ブランチに反映されました。)
From bitbucket.org:xxxxxxx/xxxxxxx * branch develop -> FETCH_HEAD xxxxxx..xxxxxxx develop -> origin/develop
git fetch <repository> <branch>
した時にリモート追跡ブランチにも反映されないのは何故でしょうか?
調べたこと
git fetch origin develop
はgit fetch origin develop:
と同じであり、引数として"<dst>"が明示されていない場合、"remote.origin.fetch"の値の"<dst>"が設定されるという認識でおります。
".git/config"を確認すると下記のようになっており、参照が間違っているようにも見えません。
[remote "origin"] url = git@bitbucket.org:xxxxxxx/xxxxxxx fetch = +refs/heads/*:refs/remotes/origin/* [branch "develop"] remote = origin merge = refs/heads/develop
補足
git version 1.8.3.1 (バージョンが古いのが気になります...)
日本語がおかしいか、理解が間違っている気がします。
> 引数なしでgit fechした場合は問題なくリモート追跡ブランチに反映されました。
fetchはリモートに作用しませんよ?
ご指摘ありがとうございます。
> fetchはリモートに作用しませんよ?
念の為確認させていただきたいのですが、リモートとは「リモートブランチ」ではなく「リモート追跡ブランチ」を指してらっしゃるのですよね?
`fetch`を行うとリモートブランチの最新状態を取得し、ローカル上のリモート追跡ブランチが更新されると理解しておりましたが違うのですね。ふむふむ...ちょっと勉強し直します。
「リモート追跡ブランチ」はリモートの情報をマッピングしているだけのローカルに保持している ref のことなので間違っていませんよ。
回答1件
あなたの回答
tips
プレビュー