構成管理 Git¶
リポジトリの構築¶
Javaのリポジトリで複数のIDE、OSを使う¶
開発作業としてコンパイル・実行・デバッグ・テスト・プロファイル・検証・リリース成果物作成を統合開発環境(IDE)上で行うのが主流です。Javaの開発で使うIDEは複数存在しています。開発者には慣熟したIDEがあるので、慣れていないIDEを使うと作業効率が劣化します。
また、Javaはマルチプラットフォーム対応であり、開発作業も Linux OS、Mac OS、Windows OSのいずれでも可能で、開発者の馴染んだ環境で行われます。
また、IDEとは独立したビルドツール(Ant, Gradle, Mavenなど)が存在します。
そこで、Javaのリポジトリではビルドツールを共通化し、どれか一つのビルドツールを使って開発作業を行い、IDEはビルドツールに対応する任意のものを使うというのが定番です。
複数のIDE、OSを使うプロジェクトで定義するgitignore¶
OS、IDE固有の設定ファイルや、個人環境に依存した設定ファイルをリポジトリに共有してしまうと、ノイズ(阻害はしないが目障り)や悪影響(インストールしていないプラグインを使おうとしてエラーになる、リポジトリの競合が発生する)が生じてしまいます。
そこで、あらかじめ使う可能性のあるOS、IDEのリポジトリ共有不要なファイルをgitignoreに定義してしまうとこうした混乱が緩和できます。
例1 IntelliJとGradleを使い、IDEとOS固有の設定を除外するgitignore¶
gitignoreのテンプレートから、Java用の定義、Gradle用の定義、IntelliJの定義、OS固有の定義を引っ張ってきて生成します。
sample$ curl -sS https://raw.githubusercontent.com/github/gitignore/master/{Java.gitignore,Gradle.gitignore,Global\/JetBrains.gitignore,Global\/macOS.gitignore,Global\/Linux.gitignore,Global\/Windows.gitignore} >> .gitignore