git pull --help
言う:
デフォルト モードでは、
git pull
は の省略形であり、git fetch
その後に が続きますgit merge FETCH_HEAD
。
これは何ですか?FETCH_HEAD
また、実際にマージされるのは何ですかgit pull
?
ベストアンサー1
FETCH_HEAD
は、リモート リポジトリからフェッチされた内容を追跡するための短命の参照です。git pull
まず を呼び出してgit fetch
、通常はリモートからブランチをフェッチします。FETCH_HEAD
このブランチの先端を指します (ブランチと同様に、コミットの SHA1 を格納します)。git pull
次に を呼び出してgit merge
、FETCH_HEAD
現在のブランチにマージします。
結果はまさに予想どおりです。適切なリモート ブランチの先端のコミットが、現在のブランチの先端のコミットにマージされます。
git fetch
これは、引数なし (またはgit remote update
) で を実行し、すべてのリモート ブランチを更新してから を実行することに少し似ていますが、名前を付ける代わりに、フェッチされた単一の参照を参照するために を内部的にgit merge origin/<branch>
使用します。FETCH_HEAD