2011-07-22 8 views
7

gitに誤ってディレクトリを追加しました。hereのアドオンを取り消して、git reset HEAD <file>を実行して元に戻すと、それ、戻って前のバージョン!`git reset HEAD file`もファイルをチェックアウトしますか?

私は...仕事の価値は数時間を失った結果:?((

私はgit reset HEAD <file>は唯一の「現在のインデックスwithout changing anything elseから削除することを考えた私は何を逃した

ですgit reset HEAD <file>HEADからにファイルをチェックアウトすることになって?

どのように私は、これは将来的に再び起こるようなものの可能性を最小限に抑えることができますか?

答えて

13

git checkout -- <file>は、以前の統計情報でファイルを元に戻す必要があります。 git reset HEAD <file>は、ファイルの内容を元に戻すのではなく、ファイルをステージングしないでください。

+0

OK、私が前に行った 'git rm -r 'できました(gitはこの操作が失敗したと報告しました)何が起こったのか説明します。 –

2

git resetインデックスのファイルをunstagesします。おそらく--hardオプションを追加したか、その後git checkoutを使用しましたか?

gitのリセットのマンページを引用:

Gitはリセット[-q] [<コミット>] [ - ] <経路> ... このフォームは、それらの状態のすべてのインデックスエントリをリセットしますで。 (作業ツリーや現在のブランチには影響しません)

+0

ありがとうございました。 'git reset HEAD 'は私が経験したことをしていないことを正しく理解していますか?つまり、私がファイルを元に戻した何か他のものでしたか? –

+0

@Eternal Learner - はい、おそらくman git-resetを読むのは良いことです:) –

+0

私はそれを何度も前に読んでいます。どうやら今回は私には役に立たなかったようだ。 :( –

関連する問題