gradleプロジェクトにおいてVCSで管理するべきファイルについて

投稿者: Anonymous

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ファイルを生成してくれるので、それを一部参考にしながら自分用の設定を作ると効率が良いと思います。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *