gitによるバージョン管理をする時,IDEにより自動的に生成されるを追加すべきでないということは分かっているのですが,プロジェクトによってどのファイルが必須なのかよく分からなくなることがあります.ここではIntelliJを使ってJavaのライブラリ(*.jar)を生成するプロジェクトをgitに管理させるとき,どのファイルが必須なのかという話です.

はじめにお断り

ここに書かれているファイルは絶対に必要何かわからないものも含まれています.少なくとも下記URLとかで紹介されているファイルよりも多くのファイルを管理することになります.

JetBrains IDE(IntelliJ IDEAなど)を使う時のgitignoreについて

最初,上記に示されているファイルのみを共有してみました.しかし,クローンしなおしてビルドすると,*.jarファイルが生成されなくなってしまいました.以下に書かれているファイルは,*.jarファイルが生成するの被必要な設定ファイルです.場合によってはもっと減らせるファイルがあるかもしれないことをあらかじめお断りいたします.

前提

ここではTWELiteResetterForFT232.jarというライブラリを生成することを目標とします.このライブラリには,別のライブラリであるFT232BitBangController.jarとTWELiteResetter.jarというライブラリを参照しています.また,TWELiteResetterForFT232.javaというソースファイルがあります.以上のような場合に必要と思われるファイルをツリー構造で示します.

01

参考にしたページでは.idea以下のファイルはほぼ不要とのことでしたが,これはライブラリを生成するのではないときの話の気がします.ライブラリを生成するには上記のようなartifactsフォルダを含む,その下にあるファイルも管理されていないとうまく生成できませんでした.また,参照するライブラリをあらわしているlibrariesフォルダ以下も必要のようです..ideaフォルダで不要なのは,workspace.xmlファイルです.これは不要のようなので,.gitignoreに追加しておくことをお勧めします.特にこのファイルは頻繁に更新されるので,gitの管理下にしておくと,毎回差分情報を撮り続けます.このようなことからも,.gitignoreに入れておいたほうがよさそうです.