🦔

IntelliJ系で便利機能3選 Gitとか

2021/03/31に公開

第二弾です

  • 高機能すぎて何を使って良いのか分からない。
  • IntelliJの使い方やメリットを何度も説明しちゃう……(私ですが)

という場合の要望に応える機能3選シリーズです。
前回はタスク管理・Docker・PHPの外部ライブラリ登録あたりを紹介しました。

https://zenn.dev/naoyukik/articles/5c291119b67ba76ef690

そんなわけで、今回はGitに関しての機能紹介です。

Git

https://pleiades.io/help/idea/using-git-integration.html

言わずと知れたVCSのGitです。
IntelliJのGit機能は、少し前まで個人的によく使用する機能がいくつかGUIからは使えなかったのですが、現在ではほぼ実装されています。
(たとえばSquashの実装は2020.2でした

ちょっと気になる点もあるにはある。
Gitには専用ツールウィンドウがあるのですが、ここのツリー表示を見ても現在のHEADがローカルにだけあるのかリモートにもあるのか分かりづらい点。
ラベルはついてるが、本当にラベルアイコンで3色に分かれているだけ。
どの色がどの状態を表しているのかいまだに分からない……。雲マークとかにしてほしい今日この頃。

GitHub

https://pleiades.io/help/idea/github.html

で、次は言わずと知れたGitHubですよ。
IntelliJとGitHubを連携させることによって、いろいろと恩恵があります。

https://pleiades.io/help/idea/manage-projects-hosted-on-github.html

  • IntelliJ上で自分のリポジトリ一覧から選択してCloneできる
  • GitHub上のソースコードの位置をIntelliJから開けるようになる
  • Pull Requestの作成・確認ができる

3つ目のPRについては、2021.1から機能が拡大されプルリクエストテンプレートに対応しました。
説明を読む限りでは「pull_request_template.mdをプロジェクトに追加するだけ」ということなので、GitHub標準仕様の.github配下に入っていれば対応できるでしょう。

ローカル履歴

https://pleiades.io/help/idea/local-history.html

今回Gitの紹介とか言ってますが、履歴繋がりで実はこれが一番紹介したかった機能です。
Gitがあるのにローカルでわざわざ履歴を取る必要があるのかと言われれば、あるんです。

ローカル履歴のメリットは、コミットされてないファイルが管理されている
これに尽きる。

  • Gitに管理しないけどプロジェクトのフォルダーにいれておきたい自分向けファイル、みたいなのが自分はけっこうある。
  • もしくはまだ開発中でコミットもしてない(し忘れている)ファイルとかも。

こういったときにローカル履歴はパワーを発揮します。

ローカル履歴は、常にファイル差分をロギングしていて、削除なども監視しています。ゆりかごから墓場まで。

つまりローカルでうっかり消してしまったファイルも復活(ロールバック)可能ということ。
ほぼGit。これはもうローカル履歴という名のVCSです。

ただし、注意点もあります。マニュアルに記載がありますので転載しておきます。

ローカルヒストリーは、長期バージョン管理のための適切なバージョン管理に代わるものではないことに注意してください。新しいバージョンの IntelliJ IDEA をインストールすると、ローカルヒストリーがクリアされます。また、保持期間と最大サイズがあるため、リビジョンが保持される保証はありません。

ということですので、開発内容消しちゃった時やうっかりファイル削除をやらかしたときなんかは、焦らずこの機能のことを思い出してください。
自分はこの記事の数日前に冷や汗かきながらローカル履歴からファイルを復元しました。

以上

今回はGitとローカル履歴を紹介しました。

Git、GitHubなんかはみんなIntelliJ内で作業しないで別アプリを使ってたりするんじゃないですかね?
ゼヒIntelliJ内で完結する便利さを。
そしてローカル履歴は心の片隅に。

Discussion