36294


[How to manage projects under Version Control Systems – IDEs Support (IntelliJ
Platform) | JetBrains](https://intellij-support.jetbrains.com/hc/en-
us/articles/206544839-How-to-manage-projects-under-Version-Control-
Systems)を参考にVCSで管理するべきファイルを見繕いました。しかし、VCSの管理下から除けないいくつかのxmlファイルが`.idea/`以下に残ってしまいます。

[code]

    ├── .idea
    │   ├── compiler.xml
    │   ├── misc.xml
    │   ├── modules.xml
    │   ├── uiDesigner.xml
    │   ├── vcs.xml
    
[/code]

`.idea/`のようなIntelliJ独自(?)のものは、できればVCSに取り込みたくないです。また[こちらの.gitignore](https://github.com/github/gitignore/blob/master/Global/JetBrains.gitignore)を見ると、`uiDesigner.xml`は実際に無視してしまっても構わないようです。

そこで質問ですが、  
1\. これらのxmlファイルの役割は何でしょうか？  
2\. これらのxmlファイル、あるいは`.idea/`そのものをVCSの管理から外してもよいのでしょうか？


CC BY-SA 3.0
2017-07-11T03:21:35.530
36267
2017-07-12T07:42:04.100
13199
question
gradle intellij-idea
gradleプロジェクトにおいて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`ファイルを生成してくれるので、それを一部参考にしながら自分用の設定を作ると効率が良いと思います。


CC BY-SA 3.0
2017-07-12T07:24:54.377
36294
2017-07-12T07:42:04.100
2017-07-12T07:42:04.100
4739
4739
36267
answer