質問: How to manage projects under Version Control Systems – IDEs Support (IntelliJ Platform) | JetBrainsを参考にVCSで管理するべきファイルを見繕いました。しかし、VCSの管理下から除けないいくつかのxmlファイルが`.idea/`以下に残ってしまいます。 ``` ├── .idea │ ├── compiler.xml │ ├── misc.xml │ ├── modules.xml │ ├── uiDesigner.xml │ ├── vcs.xml ``` `.idea/`のようなIntelliJ独自(?)のものは、できればVCSに取り込みたくないです。またこちらの.gitignoreを見ると、`uiDesigner.xml`は実際に無視してしまっても構わないようです。 そこで質問ですが、 1. これらのxmlファイルの役割は何でしょうか? 2. これらのxmlファイル、あるいは`.idea/`そのものをVCSの管理から外してもよいのでしょうか?
回答: compiler.xml コンパイラの設定ファイル アノテーションプロセッサのON/OFFの設定もあるので共有しても良いと思います misc.xml これは分からないです チームメンバーの環境で競合が発生するならば除外すべきと思います modules.xml モジュールの設定 ビルドツールの設定がこのファイルに反映されるようになっている場合であれば除外すべきです。 uiDesigner.xml これは分からないです チームメンバーの環境で競合が発生するならば除外すべきと思います vcs.xml vcsの設定 gitの場合、force pushを禁止するブランチの設定等ができる為、チーム開発であれば共有しても良いと思います。 .idea/そのものをVCSの管理から外してもよいか? =========================== 複数人で開発する場合 ソースコードに自動挿入されるcopyrightの設定など、チーム内で共有すべき設定があるため、 VCSで管理すべきと考えます。 一人で開発する場合 個人開発の場合でも開発端末を新しくした場合に上記のような設定を再度行うのは面倒ですし、やはり必要なファイルはVCSで管理すべきと考えます。 追記 == `IntelliJ IDEA`には`.ignore`というプラグインがあり、それがJetBrains製品用の`.gitignore`ファイルを生成してくれるので、それを一部参考にしながら自分用の設定を作ると効率が良いと思います。