FLINTERS Engineer's Blog

FLINTERSのエンジニアによる技術ブログ

意外と知らないIntelliJ IDEAのGit管理機能いろいろ(´-`)

新卒2年目の大久保です。(´-`)

IntelliJ IDEA使い始めて結構経つんですが、未だに機能を活用しきれてないなと感じます。。(´-`)

特にGit周りに関しては知ってると便利な機能いろいろあるので、学習も兼ねていくつかピックアップしてまとめてみました。(´-`)

例で使用しているコードの言語はScalaです。

Annotate機能

現在表示されてるファイルの各行の最終更新日と更新者を確認

ファイルの行番号とかの横にGitのコミット情報を表示できます。 git blameとほぼ同じですね。

<やり方> 行番号が表示されてるとこを右クリック -> [Annotate]選択

annotate_1-compressor.gif

コミットの差分を表示

Annotateによって表示された行を選択することで、そのコミットにおける各ファイルの差分を表示できます。

<やり方> 行番号が表示されてるとこを右クリック -> [Annotate]選択 -> 表示された行をダブルクリック -> ファイル選択

annotate_1-compressor.gif

Git Branches

ブランチの移動、削除、マージなど

ブランチのcheckoutやmergeなどを行えます。 git branchですね。

<やり方> 画面右下のGit Branchesメニューをクリック -> ブランチ選択

git_branches_1-compressor.gif

Version Control

最終コミットからの変更の差分を確認

最終コミットとローカル環境で変更した差分を簡易的に表示できます。

<やり方> 画面左下のVersion Controlメニューをクリック -> [Local Changes]タブを選択 -> ファイルをクリック -> 左のスクリーンショット 2015-11-19 9.10.46.pngをクリック

version_control_1-compressor.gif

過去の変更点との差分表示

gitのLogから現在のファイルと過去のリビジョンとの差分表示ができます。 git diffですね。

<やり方> 画面左下のVersion Controlメニューをクリック -> [Log]タブを選択 -> リビジョンを選択 -> 左のスクリーンショット 2015-11-19 9.44.52.png をクリック

log_1-compressor.gif

過去の変更点の復元など

gitのLogから過去のリビジョンを復元ができます。 git resetですね。

<やり方> 画面左下のVersion Controlメニューをクリック -> [Log]タブを選択 -> リビジョンを右クリック -> [Reset]

git_reset_1-compressor.gif

Show History

現在のファイルの過去の変更点を確認

現在のファイルのGitログから過去の変更点とその変更内容を差分表示できます。 git diffですね。

<やり方> ファイル上で右クリック -> [Git]選択 -> [Show History]選択 -> リビジョンをダブルクリック

show_history_1-compressor.gif

プロジェクト全体の過去の変更点を確認

プロジェクト全体での変更ファイルとその変更内容を差分表示できます。 git diffですね。

<やり方> ディレクトリを右クリック -> [Git]選択 -> [Show History]選択 -> リビジョンをダブルクリック -> ファイルを選択

show_history_2-compressor.gif

Stash機能

変更内容の一時保存

GitのStash機能を使って現在の変更内容を一時的に保持できます。

<やり方> メニューバーのVCSをクリック -> [Git]選択 -> [Stash Changes]選択 -> メッセージを入力 -> [Create Changes]

stash_1-compressor.gif

一時保存した変更内容の復元

GitのStash機能を使って現在のStashにある変更履歴から変更内容を確認・復元できます。

<やり方> メニューバーのVCSをクリック -> [Git]選択 -> [UnStash Changes]選択 -> 変更内容確認 -> [Apply Stash]

stash_2-compressor.gif

VCSから変更ファイルの差分確認

現在の編集内容を一括確認

現在のローカル環境の変更ファイルを一括で確認できます。

<やり方> メニューバーのVCSをクリック -> [Show Changes]選択 -> ファイル選択

show_changes_1-compressor.gif

チェンジリストを使った変更ファイルの管理

チェンジリストを作成して、変更をファイル単位でまとめて管理できます。 以下は、チェンジリストを2つ作成して別々にコミットしている例です。

<やり方> 右下のVersion Controlを選択 -> [Local Changes]タブを選択 -> 右の+ボタンでチェンジリストを作成 -> 変更ファイルをその中に移動 -> チェンジリストを右クリック -> [Commit Changes]

changelist_1-compressor.gif

マージ+コンフリクト解消

マージして、コンフリクトが発生した時もIntelliJ上で修正できます。

<やり方> メニューバーのVCSをクリック -> [Git]選択 -> [Merge Changes]選択

merge_1-compressor.gif

Local History

ファイルの変更履歴の表示

ローカル環境の変更履歴とそれぞれの変更での差分を一覧表示できます。 (´-`).o◯(Gitの機能ではない気がしますが、ついでに貼っときます。。)

<やり方> ファイル上で右クリック -> [Local History]選択 -> [Show History]選択

local_history_1-compressor.gif

その他

変更行を最終コミット状態に戻す

部分的な変更箇所を変更前の状態と比較して、元に戻したりDiffを表示させたりできます。 git checkoutやgit diffですね。

<やり方> 変更行の青く色が変わってる箇所をクリック -> [Rollback]をクリック

other_1-compressor.gif