Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

新卒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

参考

http://d.hatena.ne.jp/masanobuimai/20130518/1368867743#20130518f2
http://hogesuke.hateblo.jp/entry/2014/08/13/202229


本記事はセプテーニオリジナル開発者ブログの転載です。
http://labs.septeni.co.jp/entry/2015/11/19/100036

yoppe
フリーランスとしてZOZOテク、楽天、ベンチャーなどでアプリエンジニアやデータエンジニア、SRE、スクラム支援などしていたオールラウンダーなWebエンジニアです|Python,Django,PHP,RoR,Java,Scala,Play,TypeScript,Angular,GCP(GKE,GAE,Dataflow等),AWS,DDD|自作サービス http://ryutwi.yoppe.net
https://github.com/yoppe/Curriculum-Vitae
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした