読者です 読者をやめる 読者になる 読者になる

Carpe Diem

備忘録。https://github.com/jun06t

.gitignore を使って不要なファイルを無視

Git

Gitを使用していて、無駄なファイルなのについつい add してコミットしてしまう……といったことはよくあると思います。

そこでそのファイルを無視する設定にすることで、管理しやすくしてくれるのが .gitignore ファイルです。

やり方は簡単、まずは既に add してしまったファイルをインデックスから外します。

今回

a : 必要なファイル

b : 不要なファイル

として、

$ git rm --cached b

 

これでインデックスから外れてくれます。普通に削除していいなら --cached は要りません。また、まだ add してなければ上の作業は不要です。 次に.gitignore に無視するファイルを登録します。

初めてなら

$ echo 'b' > .gitignore

でいいですし、追加していくなら

$ emacs -nw .gitignore
;; file of .gitignore

.buildpath
.project
.settings/
cache/
logs/

みたいな感じで箇条書きすればOKです。 そしたら

$ git add .gitignore

して

$ git commit -m "deleted b from index and added gitignore"
$ git push origin master

とすればOKです。 これで

$ git status

しても、.gitignore に記述されたファイルは無視されますし、

$ git add .

してもコミットされなくなります。 Node の Express フレームワークで使用する node_modules なんかはローカルでは必要ですけどリポジトリに入れる必要はないので、この.gitignore を使うと便利です。

 

◆例1:.tmpフォルダが各フォルダにある。ネストもしてるけどこれは要らないんだよね

そんな時は

**/.tmp

と指定すればOKです。

 

◆例2:あるサブフォルダ名のJSファイルを消したい。

以下のケースです。

projects/templates/
projects/templates/hoge.js
projects/templates/pages/foo.html
projects/templates/pages/foo.js
projects/templates/pages/mypage/bar.js
projects/.gitignore

こういったフォルダ構造の時にtemplatesディレクトリ下のJSファイルを無視したい時です。 階層ごとに

templates/*.js
templates/**/*.js
templates/**/**/*.js

はスマートじゃないですね。こういう時は

## projects/templates/.gitignore に下記を記述
*.js

でOKです。

 

ソース:

gitで管理しないファイルを無視させる .gitignore gitignoreまとめ

.gitignoreで不要なファイル/ディレクトリを無視する

Gitの.gitignoreでサブディレクトリのファイルを除外するところでハマった