「ローカルヒストリア」で検索する人の多くが知りたいのは、IDE(統合開発環境)にある Local History(ローカル履歴) のことだとみられます。Gitに記録する前の編集内容まで、IDEが自動で残してくれる機能です。うっかり消したファイルや、コミットしていない変更を戻すときに役立ちます。

この記事で分かること:

  • ローカルヒストリア(Local History)の意味と、検索結果が地域史に寄る理由
  • IntelliJ系IDEとVS Codeでの開き方・復元手順
  • Gitとの違い、保持期間などの注意点
Contents

ローカルヒストリアとは?結論と検索意図の整理

「ローカルヒストリア」は、IDEのローカル履歴(Local History)を指す表記ゆれと考えられます。 Local Historyは、ファイルの編集内容をGitとは別にIDEが自動で記録する機能です。コミットしていない変更や、削除したファイルを手元の履歴から戻せます。

検索する人が知りたいこと

この語で検索する人の疑問は、主に次の4つに分けられます。

  1. ローカルヒストリアという機能の意味
  2. どこから開いて、どう使うのか
  3. 消したファイルや未コミットの変更を戻せるのか
  4. Gitの履歴と何が違うのか

この記事は、この順番で答えます。

日本語で検索すると地域史が混ざる理由

「ローカルヒストリア」とそのまま検索すると、地域史(local history)の解説ページが上位に出ます。英語の local history には「地域の歴史」という学術上の意味もあるためです。IDEの話を探すなら、次の語を足すと絞り込めます。

探したい内容 検索語の例
IntelliJ・PyCharmなどの機能 「IntelliJ ローカル履歴」「Local History 復元」
VS Codeの機能 「VS Code Timeline Local History」
削除ファイルを戻したい 「IntelliJ 削除したファイル 復元」

なお「ローカルヒストリア」という表記を公式に採用している製品は、確認できた範囲ではありません。以降は、一般に使われる「ローカル履歴」「Local History」で説明します。

Local Historyの仕組みとGitとの違い

Local Historyは、IDEが編集のたびに手元へ自動保存する履歴です。 Gitはコミットした時点だけを記録します。Local Historyはコミット前の細かい編集も含めて保持します。この差が、使い分けの出発点です。

IntelliJ系IDEでの記録のされ方

JetBrains公式ブログによると、IntelliJのローカル履歴は、編集・テスト実行・デプロイなどの操作をきっかけに、プロジェクトのリビジョン(版)を自動で記録します。自分で「保存しよう」と操作しなくても、履歴が積み上がります。

公式ヘルプ(英語版)によれば、既定の保持期間は5日で、変更もできます。5日を過ぎた古い履歴は残りません。長く残したい節目は、Gitのコミットに任せるのが安全です。

GitとLocal Historyの比較

項目 Git Local History
記録のタイミング コミットしたとき 編集や実行などのたびに自動
保存場所 リポジトリ(リモートにも共有可) 自分のPC内のIDE管理領域
保持期間 原則ずっと 既定5日(IntelliJの場合)
チーム共有 できる できない
未コミットの変更 記録されない 記録される
削除した未コミットのファイル 戻せない 戻せる場合がある

Gitの代わりにはなりません。Gitは「共有する正式な履歴」、Local Historyは「手元の保険」と考えると整理しやすくなります。

使い分けの目安

  • 作業中に「5分前の状態に戻したい」:Local History
  • 「先週の仕様に戻したい」:Git
  • 「誰がいつ変えたか知りたい」:Git(blame・log)
  • 「コミット前にファイルを消してしまった」:Local History

IntelliJ IDEAでローカル履歴を開いて復元する手順

IntelliJ系IDEでは、ファイルやフォルダを右クリックし「Local History | Show History」を選ぶと履歴を開けます。 左にリビジョンの一覧、右に現在の内容との差分が表示されます。PyCharmやWebStormなど、同じ基盤のIDEでも同様に使えます。

手順1:履歴を開く

  1. プロジェクトツリーかエディタ上で、対象のファイルを右クリックする
  2. 「Local History」にカーソルを合わせ、「Show History」を選ぶ
  3. 左のリビジョン一覧から、戻りたい時点を選ぶ
  4. 右側の差分で、現在との違いを確認する

差分は変更箇所の色分けで示されます。戻す前に、必要な変更まで消えないかを必ず見てください。

手順2:変更を元に戻す

復元には、2つの方法があります。

  • リビジョンを右クリックし、「Revert Selected and Later Changes」を選ぶ
  • 履歴画面の Revert アイコンを押す

この操作は、選んだリビジョン以降の変更をまとめて取り消す動きです。選んだ時点の後に書いた内容も、すべて消える点に注意してください。

手順3:一部だけ戻したいとき

「ファイル全体ではなく、数行だけ戻したい」場面もよくあります。差分画面では、ブロックごとに左の内容を右へ取り込む操作ができます。全体を戻すより安全です。迷ったら、いったん差分の中身を手でコピーして貼り付けるのも確実な手段です。

手順4:節目にラベルを付ける

大きなリファクタリング(コードの整理)の前などには、履歴に名前を付けておけます。右クリックメニューの Local History にある「Put Label」を使うと、後で目印として探しやすくなります。大きな作業の前に1回付けておくだけで、戻る位置が迷子になりません。

削除したファイルを戻したい場合

削除したファイルは、ツリーに残っていないため、直接右クリックできません。ファイルがあったフォルダを右クリックして「Local History | Show History」を開きます。フォルダ単位の履歴に削除の記録があれば、そこから戻せます。

ただし、記録は保持期間内に限られます。5日を過ぎた削除は、探しても出てきません。

VS CodeのTimelineでローカル履歴を使う方法

VS Codeにも同様の機能があり、エクスプローラーの「Timeline」ビューにLocal historyのエントリが並びます。 保存のたびにエントリが増えるため、保存した状態へ細かく戻れます。

履歴を確認して戻す手順

  1. エクスプローラーを開き、下部の「Timeline」を展開する
  2. 対象ファイルを開く(Timelineは開いているファイルの履歴を表示します)
  3. 一覧から時刻のエントリを選ぶと、差分が開く
  4. 内容を確認し、右クリックなどから復元操作を選ぶ

ファイルを閉じてしまった場合や、一覧から探したい場合は、Command Paletteで「Local History: Find Entry To Restore」を実行する方法があります。ファイル名と時刻から探して復元できます。

VS Codeならではの注意点

英語圏の解説では、次の点が指摘されています。

  • 追跡されるのは、VS Code上で編集したファイルだけ。別のエディタや外部ツールで書き換えた内容は記録されない
  • macOSでの保存先は $HOME/Library/Application Support/Code/User/History

IntelliJと違い、保存を起点にエントリが増える点も覚えておくと便利です。保存せずに編集していた内容は、履歴に載りません。

履歴の件数や保持量は設定で調整できます。設定画面で「local history」と検索すると、関連項目が見つかります。具体的な項目名と初期値は、お使いのバージョンの設定画面で確認してください。

IntelliJとVS Codeの違い

項目 IntelliJ系IDE VS Code
開く場所 右クリックの Local History Timelineビュー
記録のきっかけ 編集・実行・デプロイなど 保存
既定の保持 5日(変更可) 設定で調整
対象 プロジェクト全体の変更 VS Codeで編集したファイル
削除ファイルの扱い フォルダの履歴から戻せる Find Entry To Restore で探す

ケース別:こんなときどうする?

状況ごとに最初の一手を決めておくと、慌てて上書きする失敗を防げます。 復元で一番多い失敗は、焦って新しい編集を重ね、戻りたい時点を見失うことです。

保存済みの変更を誤って消した

  1. 追加の編集をいったん止める
  2. 対象ファイルでLocal Historyを開く
  3. 消す直前のリビジョンを選び、差分で確認する
  4. 必要な部分だけ戻す

ファイルごと削除した(未コミット)

IntelliJなら、元のフォルダを右クリックして Show History を開きます。VS Codeなら、Command Paletteから Find Entry To Restore を試します。見つからないときは、OSのゴミ箱も確認してください。

git checkout や reset で変更が消えた

未コミットの変更を破棄するGit操作の後でも、IDEの履歴に残っていることがあります。IntelliJでは、該当ファイルの Local History を確認してください。確実に戻せるとは限りません。念のため、操作前にコミットかstashで退避する習慣をつけるのが安全です。

時間がない人向けの最短手順

  1. 対象ファイルを右クリックし、Local History(VS Codeは Timeline)を開く
  2. 消える直前の時刻のエントリを選ぶ
  3. 差分を見て、必要な行だけコピーする
  4. 現在のファイルに貼り付けて保存する

全体を戻す操作より、コピーして貼る方法のほうが、新しい編集を巻き込みません。

デメリット・向いていない用途と注意点

Local Historyは便利ですが、バックアップやバージョン管理の代わりにはなりません。 次の限界を知っておくと、過信による事故を避けられます。

限界の一覧

  • 保持期間がある:IntelliJの既定は5日。1週間前の状態は戻せない
  • PC内だけの記録:ディスクの故障やPCの紛失で、履歴ごと失われる
  • 共有できない:チームメンバーには見えず、レビューにも使えない
  • ツール依存:VS Codeは、VS Code外での編集を記録しない
  • IDE外の削除は不確実:ターミナルで rm した場合などは、記録が残らないことがある

向いていない人・場面

  • 長期間の変更履歴を残したい人:Gitで小まめにコミットするほうが向いています
  • 大容量のバイナリを多数扱うプロジェクト:履歴の容量が増えやすいため、設定の確認をおすすめします
  • 機密ファイルを扱う場合:履歴にも内容が残る点を意識してください

失敗例と対策

失敗例 原因 対策
戻したら新しい編集も消えた 「選択以降をすべて取り消す」動作を理解していなかった 戻す前に差分を確認し、部分的に取り込む
履歴が見つからない 保持期間が過ぎた 重要な変更はこまめにコミットする
他のエディタの編集が出てこない VS Codeは外部編集を追跡しない 編集は同じIDEで行う
戻したいリビジョンが多すぎて選べない 目印がない 大きな作業の前に Put Label を付ける

事故を防ぐ運用チェックリスト

履歴機能に頼る前に、先に事故を減らす運用を決めておくと安心です。 次の項目を、作業開始時に確認してください。

  • 作業の区切りでコミットしている(未コミットのまま日をまたがない)
  • 大きな変更の前に Put Label か、ブランチを作った
  • Gitの破棄系コマンド(reset –hard、checkout の上書き)の前に退避した
  • 保持期間が自分の作業サイクルに合っている
  • 重要なファイルは、IDE外のバックアップにも入っている

Gitの一時退避と併用する

未コミットの変更が不安なら、git stash で退避する方法があります。IDEの履歴とGitの退避は役割が違うため、重ねて使うと安全度が上がります。

git stash push -m "作業中の退避"
git stash list
git stash pop

破棄系の操作を実行する直前に、1回だけ退避しておく使い方が現実的です。

よくある質問

Q. 「ローカルヒストリア」という機能は実在しますか?

IDEの正式な機能名としては、Local History(ローカル履歴)が一般的です。「ローカルヒストリア」は、その表記ゆれか、検索時の言い間違いとみられます。製品によって呼び方は異なるため、各IDEのメニュー表記を確認してください。

Q. IntelliJのローカル履歴はどこから開きますか?

ファイルを右クリックし、「Local History | Show History」を選びます。左にリビジョン、右に現在との差分が表示されます。

Q. 削除したファイルは戻せますか?

保持期間内なら、戻せる場合があります。IntelliJでは、削除前にファイルがあったフォルダで Show History を開いて探します。見つからない場合は、OSのゴミ箱やバックアップを確認してください。

Q. ローカル履歴の保持期間はどれくらいですか?

IntelliJの既定は5日で、変更もできます。VS Codeでは設定で件数などを調整します。長期の保管が必要な内容は、Gitにコミットしておくのが確実です。

Q. Gitを使っていれば、Local Historyは不要ですか?

役割が違うため、併用が向いています。Gitはコミットした内容だけを残します。Local Historyは、コミット前の編集や削除も拾える点が強みです。

Q. VS Codeで他のエディタの編集内容は復元できますか?

できません。追跡されるのは、VS Code上で編集したファイルだけです。別のエディタで書き換えた内容は、Local historyに入りません。

Q. 「Revert Selected and Later Changes」を押すと何が起きますか?

選んだリビジョン以降の変更を、まとめて取り消します。選んだ時点より後に書いた内容も消えるため、押す前に差分を確認してください。一部だけ戻したい場合は、差分から必要な部分を取り込む方法が安全です。

Q. 履歴が見つからないときは、どうすればよいですか?

まず、対象のファイルかフォルダを間違えていないかを確認します。次に、保持期間を過ぎていないかを確かめます。それでも無ければ、Gitの履歴、OSのバックアップ、クラウドの版管理(利用していれば)を順に当たってください。

まとめ

今日の作業が終わったら、次の2つを試してください。

  1. 普段使うIDEで、適当なファイルの Local History(VS Codeは Timeline)を一度開き、場所を覚える
  2. 自分の作業サイクルと保持期間が合っているか、設定を見直す

残る問いは、「履歴が残る期間より前の状態を、自分は必要としていないか」です。必要なら、コミットの粒度を細かくする方向で、運用を見直してみてください。

※本記事は公開情報をもとに整理したものです

参考:

  • JetBrains公式ブログ「ローカル履歴」解説(https://blog.jetbrains.com/ja/2020/03/31/2927/)
  • JetBrains公式ヘルプ Local History(https://www.jetbrains.com/help/idea/local-history.html)
  • JetBrains公式ヘルプ Using Local History(https://www.jetbrains.com/help/idea/using-local-history.html)

関連記事