15
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

.gitignoreの注意点

Last updated at Posted at 2014-11-05

以下を参考に。
http://d.hatena.ne.jp/maeharin/20130206/gitignore

しっかり把握していなかったのでメモ。
/で始まっていないものは.gitignoreファイルが置いてある階層以下の全てのファイルに適用されてしまう。

なのでJavaでAntやMavenのプロジェクトを想定して以下のように書いてある場合、

.gitignore
dist/
target/

ソース内(src/main/java等)にtargetパッケージがあった場合に無視されてしまう。(targetはJavaの予約語ではないため普通に作成出来る。)

なので、基本的に/始まりで書いて、同階層のみに適用されるようにする使い方が良いと思う。勿論、サムネイルファイルなどほぼ使わないと保証が取れているようなファイルは同階層以下全てで適用して良いが。

.gitignore(同階層のみ指定)
/dist/
/target/

マルチモジュールプロジェクトの場合は、Mavenを例に取ると、ルートpomがある場所で全ての定義をするのではなく、上記のような方針で厳密に指定された.gitignoreファイルを、ルートpomがある場所とそのサブプロジェクトのpomがある場所にそれぞれ配置するのが良い。

Mavenによるマルチモジュールプロジェクト
.
├── .gitignore
├── module1
│   ├── .gitignore
│   └── pom.xml
├── module2
│   ├── .gitignore
│   └── pom.xml
└── pom.xml

余談

gitignore.io を結構好きで使っていたのだが、かなりカジュアルに全階層適用の.gitignoreを吐いてくる。よく使っている人は上記のような問題があることに留意して使う必要がある。
https://www.gitignore.io/

15
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?