誰かがEclipseのローカル履歴がどのように機能するか説明できますか?
プロジェクトのファイルを誤って上書きしてしまいましたが、以前のバージョンに戻す必要があります。 Eclipseが古いファイルをどこかにキャッシュしている可能性はありますか?
CurtainDogの回答を完了するには: Eclipse FAQ から
Eclipseでファイルを変更するたびに、古いコンテンツのコピーがローカル履歴に保持されます。いつでも、ファイルを履歴の古いバージョンと比較または置換できます。
これは実際のコードリポジトリの代わりにはなりませんが、誤ってファイルを変更または削除した場合に役立ちます。
ローカル履歴には、実際には設計されていないという利点もあります。履歴は、ワークスペースに壊滅的な問題が発生した場合や、ワークスペースファイルを破損するディスクエラーが発生した場合にも役立ちます。
最後の手段として、ローカルの履歴フォルダーを手動で参照して、失われたファイルのコピーを見つけることができます。これは、Googleのキャッシュを使用して、存在しないWebページを参照するようなものです。各ファイルリビジョンは、historyフォルダー内のランダムなファイル名を持つ個別のファイルに保存されます。ワークスペース内の履歴フォルダーのパスは
.metadata/.plugins/org.Eclipse.core.resources/.history/
オペレーティングシステムの検索ツールを使用して、探しているファイルを見つけることができます。
ローカル履歴をnewワークスペースにインポートする必要がある場合は、次の両方が必要になります。
その新しいワークスペースで機能的なローカル履歴を保持します。
Eclipseでファイルを右クリックして、[置換]-> [ローカル履歴]を選択します。
利用可能な履歴がある場合は、編集時間のリストとして表示されます。
しかし、より重要なこととして、他の回答で指摘されているように、ファイルをバージョン管理に入れてください。 SVNの設定はかなり簡単です(サーバーは必要ありません。ファイルシステムを使用するだけです)。他の人と共有していなくても使用できます。
ヒント:自分が「はい」と言うのを聞くたびに、すべてのコードをチェックインしてください。 10分後、あなたは「どうやってそれを台無しにしたのですか」と言うでしょう。
誤って削除したり、svn/cvsの上書きによって完全なパッケージ構造が失われた場合は、プロジェクトを選択し、右クリックして[ローカルの履歴から復元]を選択し、ファイルを選択します。
VonCの回答には、コードバックアップの場所を見つけるために必要なすべての情報が含まれています。 MacやLinuxを使用している場合は、次のようなことを実行できます。
$ cd [WORKSPACE]/.metadata/.plugins/org.Eclipse.core.resources/.history/
$ grep -rl "class Foo" . | xargs ls -lt
これにより、特定の文字列(「class Foo」など)を含むファイルのすべてのバージョンが検索され、日付/時刻で並べ替えられるため、最新バージョンを簡単に見つけることができます。
リンクを使用できます http://wiki.Eclipse.org/FAQ_Where_is_the_workspace_local_history_stored%3F は非常に役立ちます
CVSビューを開くと、ローカル履歴のフィルターが表示されます。次に、正しいバージョンを右クリックして[コンテンツを取得]するか、手動で比較してマージすることができます。ローカルの履歴を保持するためのEclipseのデフォルトが何であるかはわかりませんが、すばやく行動すれば、物事を取り戻すことができる可能性がかなりあります。