8

documentationによると、git update-index --refreshこれを行います:

現在のインデックスを調べ、stat() 情報をチェックして、マージまたは更新が必要かどうかを確認します。

git が「マージまたは更新が必要かどうかを確認する」とはどういう意味ですか? git は、特定の操作の後に「mergeme」という任意のフラグをどこかに保持していますか?

また、私は理解していると思いますstatgitインデックスの「統計情報」とは何ですか?)が、マージが必要かどうかをgitが知るのにUIDなどの情報がどのように役立つかわかりません。

4

1 に答える 1

2

説明は少し誤解を招くです。このコマンドは、作業コピーがインデックスから逸脱しているかどうかを確認します。git addこのコンテキストでは、マージとは、を使用するgit rmgit checkout、インデックスと作業コピーを同期させる必要があることを意味します。これはとは何の関係もありませんgit merge

statインデックスには、ユーザーによる変更の検出を最適化するために、作業コピーファイル情報のスナップショットが格納されます。git addこれらの変更がステージング領域に挿入されるたび( 、git rm)、または作業コピーの変更が破棄されるたび(、、 ...)に更新されgit checkoutますgit reset

于 2011-03-16T15:35:00.877 に答える