さっしーブログ

埼玉県在住のシステムエンジニアです。基本的には技術的な内容を中心に発信していきます。

Eclipseで開発する際にgit管理対象とすべきファイル(設定関連)の話

というのもチームで開発する際に先行してプロジェクト作成から開発を行う経験がなかったもので、
最初のコミット時にgit管理対象とすべきでないファイルをミスって後続の実装者に迷惑をかけてしまいました。
 
リモートなどで開発を進める際に直接相手の状態を確認できなかったするも無くはないので被害を最小限に抑えるため、
ここで一気に備忘録としてまとめます。
 
1.事の発端(経緯)

私がgitへあげたプロジェクトを実装者がcheckoutしたときに、
私の環境のプロジェクトのディレクトリ構成とまったく異なっていたことにより、エラーが頻発していた。
 
具体的にはソースフォルダーとして作成した「resources」や「test」フォルダーがパッケージとして認識されていた。
 
そのため、いろいろ原因を聞きながら思い当たる節を投げていたのですが、一向に直らない(その実装者とはオフィスが離れていたのでslackでやりとり)。。。
 
2.ある開発者の一言

「.classpathをgit管理対象にすると解消すると思います。」
 
それだ!
 
3. .classpathを修正したところ

直ったそうです。。。
 
ここでEclipseのソースフォルダーやパッケージの管理も.classpathで管理していたのですね。
 
初めて知りました、恥ずかしい。。。
 
4. Eclipseで開発する際にgitで管理した方がよいファイルとは?

主に以下になると思います。(ここはケースバイケースですが、開発環境が統一されている場合)
 
 ・[ProjectDir]/.project
 ・[ProjectDir]/.classpath
 ・[ProjectDir]/.settings/*
 
※ただし、mavenを使用している場合はpom.xmlに「.classpath」「.settings」を生成する設定を記載しているため、管理対象含めなくてよいそうです。
 
補足として
【.projectとは】
Eclipseが自動的に作成したファイル
このファイルのあるディレクトリは、Eclipseのプロジェクトエリア直属する。
記述内容はxmlが記載されている。
 
【.classpath】
Eclipseが自動的に作成したファイル
フォルダの種類やclassファイルを探す場所を指定するファイル
 
【.settings】
Eclipseの設定ファイルが管理されている。
Code Styleの設定、エディタの設定など
 
5.逆にgit管理しなくて良いファイル

bin配下のバイナリファイルはgit管理しなくて良い。
 
gitの管理方法もそのうちしっかり勉強していかないと、、、
 

 
以上