git fetch origin 〜をした後のmergeについてですが、
git merge FETCH_HEADとgit merge origin ~の違いはあるのでしょうか。
たぶん、git merge origin ~ ではなく git merge origin/~ のことでは?
git fetch と git merge では引数に例えば origin develop と書いたときの意味が違って、
- git fetch origin develop は origin の develop ブランチを fetch するという意味ですが、
- git merge origin develop は、現在のブランチに origin と develop の 2 つを同時にマージするという意味になります。
(ここで、origin がリモート名ならその HEAD (git branch -a で remotes/origin/HEAD -> origin/master とか表示されるやつ)、develop はローカルの develop ブランチを指すはず。また、現在のブランチが develop だったり、develop がすでにマージ済みであれば無視されると思います。)
git fetch origin develop の直後なら、git merge FETCH_HEAD は git merge origin/develop の意味になるようです。
https://stackoverflow.com/questions/9237348/what-does-fetch-head-in-git-mean
まさに、git merge FETCH_HEAD と git merge origin/developを意味しておりました!
git fetch origin develop の直後は基本的にはgit merge origin/developではなく、git merge FETCH_HEADを使用するということでしょうか。
