3

特定のファイルのインデックス状態をその作業ツリーの内容と交換することは可能ですか?

4

1 に答える 1

5

git showobject-nameを使用して、 index から任意の場所にコンテンツを取得できます。ここで、object-nameは SHA1 または:filename(インデックスのバージョンを意味します) またはrevision:filename(特定のリビジョンのバージョンを意味します) です。したがって、次のいずれかです。

git show :filename > filename.tmp
git add filename
mv filename.tmp filename

また

OBJECT=$(git rev-parse :filename)
git add filename
git show $OBJECT > filename

前者はインデックスを変更する前にデータをディスクに保存しますが、後者は単純にインデックスにオブジェクト名を問い合わせ、それを変更し、オブジェクト ストアからオブジェクトを取得します。その時点で、オブジェクトを参照するものはなくなりますが、 を実行するまで削除されませんgit gc

于 2011-05-18T13:19:09.207 に答える