RubyMineで毎回自動生成される.ideaについて

【結論】

・RubyMineで毎回自動生成される.ideaは、チーム間でプロジェクト設定を共有する為のファイル

・但し、チーム全員がRubyMineを共通設定で使用しないのであれば、GitHubに上げると邪魔になる

・毎回Gitの監視下に入るのが面倒であれば、gitignore_globalに登録すれば、都度gitignoreに登録する手間が省ける

【目次】

【本題】

RubyMineを使用していると生成される.idea

RubyMineを使っていると、.ideaという謎のファイルが、勝手に生成されてGitの監視下に加わります。 今回は、これが何か調べました。

チーム間で設定内容を共有するもの

下記の公式サイトによると、以下の様な説明でした。

Projects | IntelliJ IDEA Documentation

Project formats # In IntelliJ IDEA, there are two types of formats in which a project's configuration can be stored — the file-based format format (legacy) and the directory-based format (default and recommended).

For file-based projects, the IDE creates the .ipr, .iws and .iml files. For projects stored in the directory-based format, the IDE creates the.iml file and the .idea directory that keeps project settings.

どうやらプロジェクト設定を保存して、共有する為の物の様です。

全員がRubyMineを使用する訳ではない

同じ環境で開発を行えるという利点がある様ですが、エディタが違えば意味がありません。

不要なファイルがアップロードされていると、コードレビューの邪魔にもなりますので、特に利用していないのであれば、Gitの監視下から外しておくのが得策でしょう。

毎回gitignoreに登録するのは面倒

この.ideaは、毎回勝手に生成されますが、都度gitignoreに登録するのが面倒です。 また、他のメンバーに関係ないファイルがgitignoreに登録されているのも綺麗ではありません。

そういった個人の都合で毎回Gitの監視下から外したいのであれば、.gitignore_globalに登録するのが有用でしょう。

gitignore_globalは、全てのプロジェクトにおいて、登録したファイルをGitの監視下から外してくれます。

.gitignore_globalの設定方法

まず、下記のコマンドで.gitignore_globalを読み込む設定を行います。

git config --global core.excludesfile ~/.gitignore_global

次にホームディレクトリへ.gitignore_globalの作成と編集を行います。

$ vim ~/.gitignore_global

今回は、下記二種類のファイルを記述しました。

.idea/
.DS_Store

保存後、上記二つのファイルはGitの監視下から外れます。

参考情報

Projects | IntelliJ IDEA Documentation

https://intellij-support.jetbrains.com/hc/en-us/articles/206544839-How-to-manage-projects-under-Version-Control-Systems

グローバルに.gitignoreを設定する方法 | vdeep