2011-06-20 13 views
1

GIT作業リポジトリで、コマンドrm -rfでgit rmでなくファイルを削除しました。サーバから(bare repo)ファイルをプル/フェッチしようとすると表示されません。これらのファイルを元に戻すにはどうすればよいですか?削除されたファイルを返却する方法

答えて

2

前回のコミットに戻します。これにより、最後に確定した状態にリセットされます:

git reset --hard HEAD 

注:他の変更がある場合は、最初に隠しておいてください。

git checkout abcde file/to/restore 

あいうえおコミット#です。ここで

git stash 

は同様にあなたを助けるかもしれない別のポストから取ったオプションです。

git log 

コミットログを取得するには:

Reset or revert a specific file to a specific revision using Git?

+1

ハードリセットなしで同じ効果を得ることができる場合は、そうする必要があります。それはかなり危険な命令です。 – wilhelmtell

+0

ありがとうリセット - ハードディスクのHEADがファイルを取り戻しました。リセットされました - ハードディスクが危険です、もっと詳しく説明できますか? – maestromani

+0

はい。これは、ソース管理下のすべてを最後にコミットされた状態に戻します。これは、コミット時にファイルa、b、c、dを変更したが、あなたが偶発的に削除したものをリカバリしたい場合、reset -hardを使用してHEADがそれらのファイルの状態に戻ることを意味します(それらの4つすべて)あなたが最後のコミットを行う前に。あなたは基本的に1つのコミットを「ジャンプバック」しています。 –

3

あなただけの1つのファイルを復元したい(またはファイルのカップルのためにそれを数回を行う)場合、私はgit checkout path/to/file.extをお勧めします。 git reset --hard HEADを使用すると、すべてのファイルが返されますが、最後にコミットした後に行った変更のあるその他のの変更も消去されます。

+0

ありがとうリセット - ハードHEADがファイルを持ってきました – maestromani

0

は常に疑問に

git status 

ときの出力を検査します。アウトプットは、フィラーを返す方法を示していました。

これには、削除されたファイルおよびインデックスに追加されたファイル/変更の手順が含まれます。

+0

あなたは正しい状態になっています。 – maestromani

関連する問題