1. ホーム
  2. git

[解決済み] 内容を削除せずに大量のファイルをアンステージする方法

2022-03-18 13:40:29

質問

を使用して、誤って一時ファイルを大量に追加してしまいました。 git add -A

以下のコマンドでファイルのステージングを解除し、なんとかダーティインデックスを削除することができました。

git ls-files -z | xargs -0 rm -f
git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached

上記のコマンドは git help rm . しかし、悲しいことに、キャッシュオプションを与えていたにもかかわらず、実行時に私のファイルも削除されてしまいました。どうすれば、コンテンツを失うことなくインデックスをクリアできるでしょうか?

また、このパイプ操作の仕組みについて、どなたか解説していただけると助かります。

どのように解決するのですか?

git reset

やりすぎた "git add" の実行を取り消すだけなら、これでよいのです。

git reset

変更内容はステージングされないので、好きなように再追加することができます。


実行しないでください git reset --hard .

追加したファイルのステージを解除するだけでなく、作業ディレクトリで行った変更も元に戻します。もし、作業ディレクトリに新しいファイルを作成した場合、それは はしません。 しかし、それらを削除します。