ローカル履歴
ローカル履歴は、バージョン管理とは関係なく、プロジェクトに加えられたすべての変更を常に追跡できます。
コミット間で行われた違いのみを追跡するバージョン管理システムとは異なり、ローカル履歴にはさらに多くの機能があります。 コードの編集、テストの実行、アプリケーションのデプロイなどを行うと、プロジェクトの状態が自動的に記録され、IDE と外部の両方から行われたすべての意味のある変更のリビジョンが維持されます。
個人用バージョン管理システムとして機能するローカル履歴は、削除したファイルの復元、個別の変更の取り戻し、またはプロジェクトでまだバージョン管理が有効化されていない場合や、最後のコミット後に不要な変更が行われた場合でも、ファイルを任意の状態にロールバックできます。 また、何もアクションを行う前にコンピューターが予期せず再起動した場合の復元元としても利用できます。
ファイルの変更を復元する
最後のコミット以降、ファイルに一連の変更を加えた後、重要なコードを削除していたことに気付いたとしましょう。 この場合、 Undo アクションでは変更が離れているため役立たず、それを使うと他の変更も破棄することになります。
RubyMine を使えば、数回クリックするだけでその変更を復元できます。
エディターの任意の場所を右クリックし、コンテキストメニューから ローカル履歴 | 履歴の表示 を選択します。
開いたダイアログの左側のペインには、現在のファイルの保存されているすべてのリビジョンのリストがタイムスタンプとともに表示されます。 右側のペインには差分ビューアーが表示され、各リビジョンとファイルの現在の状態との違いが表示されます。
次のいずれかを実行してください:
ファイル全体をこのリビジョンの状態に戻すには、ファイルを右クリックしてコンテキストメニューから 選択済みとそれ以降の変更を元に戻す を選択するか、ツールバーの
をクリックします。
特定のコードフラグメントを復元するには、そのフラグメントを含むリビジョンを選択します。 右側の差分ビューで、復元するコード部分を見つけて山形ボタン
をクリックして、左側のペインからコードをコピーします。
複数のファイルの変更を復元する
1 つのファイルのローカル履歴を表示するのと同様に、フォルダー全体、プロジェクト、または複数の個別ファイルについても表示できます。
プロジェクト ツールウィンドウ(Alt+1 )で、履歴を表示したいノードを右クリックするか、ファイルを選択して右クリックし、 を選択します。
元に戻す変更を見つけて、ツールバーの
をクリックします。
ツールバーの
をクリックして、差分ビューアーで変更を表示します。 そこで山形ボタン
を使用して、必要な変更を元に戻します。
削除されたファイルを復元する
バージョン管理されていないファイルを誤って削除した場合は、ローカル履歴で復元できます。
プロジェクト ツールウィンドウ(Alt+1 )で削除したファイルが含まれていたノードを選択し、右クリックしてコンテキストメニューから を選択します。
左側で、復元するファイルが含まれているリビジョンを選択し、そのファイルを右クリックして、 選択範囲を元に戻す を選択します。
特定の状態にラベルを追加する
通常、ローカル履歴のリビジョンにはタイムスタンプが付けられているため、移動するのは簡単ではありません。 一部のリビジョンは、事前定義されたイベント (テストの実行、アプリのデプロイ、変更のコミットなど) に基づいてラベルで自動的にマークされます。 たとえば、大規模なリファクタリングを開始する直前に、いつでも新しいラベルを追加して、ローカル履歴の現在の状態をマークできます。
メインメニューから を選択します。
開いたダイアログで、ラベルに意味のある名前を入力し、 OKです。 をクリックします。
ローカル履歴を共有する
ローカル履歴は共有アクセスには対応していません。ローカルに保存されており、個人利用のみを想定しています。 ただし、特定のリビジョンとの差分を持つパッチファイルを作成して、他の人と共有できます。
「ローカル履歴」ダイアログでリビジョンを選択し、ツールバーの「パッチの作成
」をクリックします。
開いたダイアログで、新しいパッチの作成方法を指定します。
ローカル履歴の保持期間を変更する
デフォルトでは、ローカル履歴(つまり、ファイルが変更された日である)、最後の 5 営業日のための店の改定に設定されています。
設定 ダイアログ(Ctrl+Alt+S )で に移動します。
IDE セクションで、 変更内容をローカル履歴に保存する期間 フィールドに必要な保持期間の値を入力します。
または、 JVM オプションを設定して、 localHistory.daysToKeep パラメーターを Java プロパティとして渡すこともできます。 例: 保持を 30 日に設定するには、JVM オプションファイルに次の行を追加します。
ローカル履歴ファイルの場所
ローカル履歴は、 LocalHistory サブディレクトリの RubyMine システムディレクトリ にバイナリファイルとして保存されます:
- 構文
%LOCALAPPDATA%\JetBrains\<product><version>
- サンプル
C:\Users\JohnS\AppData\Local\JetBrains\IntelliJIdea2024.3
- 構文
~/Library/Caches/JetBrains/<product><version>
- サンプル
~/Library/Caches/JetBrains/IntelliJIdea2024.3
- 構文
~/.cache/JetBrains/<product><version>
- サンプル
~/.cache/JetBrains/IntelliJIdea2024.3
idea.system.path プロパティを使用して、システムディレクトリの場所を変更することができます。
ローカル履歴機能のライブデモはこのビデオをご覧ください: