Git リポジトリの変更を元に戻す
コミットされていない変更を元に戻す
コミットする前に、ローカルで行った変更をいつでも元に戻すことができます。
コミット ツールウィンドウ (Alt+0) で、元に戻すファイルを 1 つ以上選択し、コンテキストメニューから ロールバック を選択するか、 Ctrl+Alt+Z を押します。
開いたダイアログで、元に戻すファイルのリストを確認します。
追加されたファイルと変更されたファイルの変更を元に戻すには、 追加されたファイルのローカルコピーを削除する チェックボックスを選択します。
最後のコミット以降に選択したファイルに加えられたすべての変更は破棄され、アクティブな変更リストから消えます。
ファイルのステージングを解除する
デフォルトでは、IntelliJ IDEA は、変更されたファイルが自動的にステージングさ れる変更リストの概念を使用します。
ファイルがすでにバージョン管理下にあり、コミットしたくない場合は、次のことができます。
コミットから削除する: コミット ツールウィンドウの 変更 領域では選択しないでください。
ステージングの概念に慣れている場合は、 バージョン管理 | Git 設定ページ Ctrl+Alt+S で ステージングエリアを有効化 オプションを選択します。
また、デフォルトでは、IntelliJ IDEA は、バージョン管理下で新しく作成された各ファイルを追加することを提案します。 ファイル作成時 および ファイル削除時 設定をそれぞれ使用して、 でこの動作を変更できます。
最後のコミットを取り消す
IntelliJ IDEA を使用すると、現在のブランチの最後のコミットを元に戻すことができます。
Git ツールウィンドウ Alt+9 を開き、 ログ タブに切り替えます。
現在のブランチで最後にコミットを選択し、コンテキストメニューから コミットの取り消し を選択します。
表示されるダイアログで、破棄する変更が移動される変更リストを選択します。 名前 リストから既存の変更リストを選択するか、新しい変更リストの名前を指定できます(デフォルトではコミットメッセージが使用されます)。
必要に応じてコメントを入力します。 新しい変更リストがリポジトリに送信されると、このコメントは 変更のコミット ダイアログの コメント テキスト領域に表示されます。
アクティブ・変更リストを破棄する変更を変更リストに追加する場合は、 アクティブにする(A) オプションを選択します。
この変更リストがアクティブになったときに IntelliJ IDEA にコンテキストを記憶させ、現在開いているファイルをエディターに再ロードさせるには、 コンテキストを追跡する オプションを選択します。
プッシュされたコミットを元に戻す
すでにプッシュされた特定のコミットでエラーに気付いた場合は、そのコミットを元に戻すことができます。 この操作により、元に戻すコミットの効果を元に戻す新しいコミットが作成されます。 元のコミットがそのまま残るため、プロジェクトの履歴が保持されます。
Git ツールウィンドウ Alt+9 の ログ タブで元に戻すコミットを見つけて右クリックし、コンテキストメニューから コミットを revert を選択します。 このオプションは、ファイル ヒストリービューのコミットのコンテキストメニューからも使用できます。 変更のコミット ダイアログが開き、自動的に生成されたコミットメッセージが表示されます。
選択したコミットに複数のファイルが含まれていて、それらの一部を元に戻す必要がある場合は、タッチしたくないファイルの選択を解除します。
コミット をクリックして、この特定のコミットで選択したファイルへの変更を元に戻す変更セットをコミットします。
選択した変更を元に戻す
IntelliJ IDEA を使用すると、このコミットに複数のファイルが含まれていて、一部のファイルのみを元に戻す必要がある場合、プッシュされたコミットから選択した変更を取り消すことができます。
ログ ビューで、破棄する変更を含むコミットを選択します。
変更されたファイルペインで、元に戻すファイルを右クリックし、コンテキストメニューから 選択した変更を元に戻す を選択します。
これにより、元に戻したい変更を元に戻す新しいコミットが発生します。
コミットを削除する
ブランチ履歴に反映される commit を元に戻す場合とは異なり、操作のトレースを移動せずに、現在のブランチでプッシュされたコミットを破棄できます。
ログ ビューで破棄するコミットを選択し、コンテキストメニューから コミットの削除 を選択します。
コミットから選択した変更を削除する
複数のファイルで変更をコミットしていて、コミットをプッシュする前にその一部を元に戻したい場合は、 コミット全体を削除するのではなく、変更の一部だけを削除できます。 ドロップした変更は削除されます。
Git ツールウィンドウ Alt+9 の ログ タブで、ローカルブランチを選択し、続いて削除したい変更を含むコミットを選択します。
右側の 変更されたファイル ペインで、削除したい変更を含むファイルを選択し、右クリックして、 選択した変更の削除 を選択します。
ブランチを特定のコミットにリセットする
最近のコミットのセットにエラーがあり、その部分をやり直したい場合は、リポジトリを特定の状態にロールバックすることができます。 これは、現在のブランチ HEAD を指定されたコミットにリセットすることによって行われます(ヒストリに UNDO を反映したくない場合は、オプションでインデックスと作業ツリーをリセットします)。
バージョン管理 ツールウィンドウ Alt+9 を開き、 ログ タブに切り替えます。
HEAD を移動するコミットを選択し、コンテキストメニューから 現在のブランチをここにリセット を選択します。
開いている Git リセット ダイアログで、作業ツリーとインデックスをどのように更新するかを選択し、 リセット をクリックします。
ソフト: 選択したコミットの後に行われたコミットからのすべての変更がステージングされます(つまり、変更を確認して必要に応じて後でコミットできるように、 コミット ウィンドウに移動されます)。
混合 :選択したコミット以降に行われた変更は保存されますが、コミットのためにステージされません。
ハード: 選択したコミット後に行われたすべての変更は破棄されます(ステージングされ、コミットされます)。
保持: 選択したコミット後にコミットされた変更は破棄されますが、ローカルの変更はそのまま維持されます。
ファイルの前のリビジョンを取得する
複数のファイルの変更を含むコミット全体を破棄するのではなく、1 つのファイルを元に戻す必要がある場合は、そのファイルの特定のバージョンに戻ることができます。
任意のビュー (プロジェクト ツールウィンドウ (Alt+1) 、エディター、 コミット ウィンドウなど) で必要なファイルを選択します。
メインメニューから Git | 選択されたファイル | 履歴の表示 を選択するか、選択のコンテキストメニューから Git | 履歴の表示 を選択します。 Git ツールウィンドウに ヒストリー タブが追加され、選択したファイルの履歴が表示され、そのリビジョンを確認して比較できるようになります。
ロールバックするリビジョンを特定したら、リストからリビジョンを選択し、コンテキストメニューから Get を選択します。