[解決済み] 内容を削除せずに大量のファイルをアンステージする方法
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
.
追加したファイルのステージを解除するだけでなく、作業ディレクトリで行った変更も元に戻します。もし、作業ディレクトリに新しいファイルを作成した場合、それは はしません。 しかし、それらを削除します。
関連
-
[解決済み】ファイルのアンリンクに失敗しました。もう一度試してみるべきですか?
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] ローカルファイルシステムからファイルを削除せずに、Git リポジトリからファイルを削除する
-
[解決済み] Git で現在のブランチ名を取得するには?
-
[解決済み] コミットに含まれるすべてのファイルを一覧表示するにはどうすればよいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】Gitで複数のコミットの著者名やコミッター名、Eメールを変更する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Git, fatal: リモートエンドが予期せずハングアップしました。
-
[解決済み】Gitマージで「すでに最新」と報告されるが、違いはある
-
[解決済み] [Solved] 作業ツリーのディレクトリ 'example.com' を作成できませんでした。パーミッションが拒否されました
-
[解決済み] リモートの <ブランチ名> とマージするように設定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み] 現在の支店にはトラッキング情報がありません
-
[解決済み] Gitのエラー「object file ... is empty」はどうすれば直せますか?
-
[解決済み] git restore` コマンドとは何ですか?また、`git restore` と `git reset` の違いは何ですか?
-
[解決済み] ステージング・エリアから1つのファイルを削除する(undo git add)にはどうすればよいですか?
-
[解決済み] Gitでファイルのステージを解除する方法が2つあるのはなぜですか?
-
[解決済み] git staging areaからファイルを削除する方法は?