9

私がそうするとき、なぜ私は疑問に思っています:

git add <file>

その後、私はします:

git rm --cached <file>

ステージエリアでは、ファイルは削除済みステータスのままです。

ここに例があります: ここに画像の説明を入力してください

ファイルの「削除済み」ステータスについての説明を探しているだけです。

ありがとう

4

2 に答える 2

11

git reset HEAD yourFileの代わりに、を試してくださいgit rm --cached

混合リセットは、作業ツリーからファイルを削除せずに、インデックスからファイルを削除します。コミットする前に「元に戻す」
を参照してください。git add

あなたの場合、aは、のに置くgit stash必要があり、その後、リセット後に進行中の変更を復元します。git resetgit stash pop


deleted後の''ステータスに関してはgit rm --cached、そのコマンドはファイルの削除をインデックスに登録します。そのため、次のコミットで'deleted'として記録されます。

OPフェルペガ は主張します:

git rm --cachedこのコマンドはで表示されるのと同じ動作をする必要があるため、削除されたステータスが結果として存在する理由を尋ねてgit reset HEAD <file>いますgit rm

いいえ、agit rmは[と同じ動作ではありませんgit reset][8]
どちらもインデックスに影響しますが、次のようになります。

  • 1つ( )は、次のコミット時に削除git rmするファイルを記録します。したがって、' 'ステータス、deleted
  • もう一方(git reset)はHEADをインデックスにコピーし、そのインデックスをファイルがHEADにあったものにリセットします。
于 2013-03-16T23:06:39.340 に答える
2

ファイルをインデックス/キャッシュ(スクリーンショットでは緑色)に追加し、ファイルを削除するように指示しました。インデックス/キャッシュの変更は、コミットが実行されたときにのみ実行されます。

おそらくファイルをインデックス/キャッシュに入れてから削除したいと思っています(コミットされないようにするため)。

これを行うためのコマンドは、メッセージ内にありgit statusます(丸で囲まれたの真上)deleted

git reset HEAD <filename>
于 2013-03-16T23:46:06.157 に答える