1. ホーム
  2. git

[解決済み] GitのFETCH_HEADとはどういう意味ですか?

2022-02-03 22:10:28

質問

git pull --help は言う。

デフォルトモードでは git pull の略記です。 git fetch に続いて git merge FETCH_HEAD .

これは何ですか FETCH_HEAD で、実際にマージされるのは git pull ?

解決方法は?

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 は、名前を付ける必要がない代わりに、取得された単一の参照を参照するために内部で使用されます。