Gitで管理しないファイルを設定する - .gitignore
Gitで管理しないファイルを設定しておくには「.gitignore」ファイルを使用します。touchコマンドでファイルを作成します。「.gitignore」で記述しておくと、git addコマンドで、コミット準備の状態にされなくなります。
touch .gitignore
.gitignoreは、リポジトリのどこにでも置くことができますが、リポジトリのトップで管理することを、推奨します。
絶対パス
絶対パスで記述すると、Gitリポジトリのルートからの記述になります。
「/foo」が管理されなくなる。
/foo
「/foo/bar」が管理されなくなる。
/foo/bar
相対パス
相対パスで書くと、Gitリポジトリのルートディレクトリの中のどこかに含まれているファイルが管理されなくなります。
以下の場合は「foo.txt」というファイルすべてが、管理されなくなります。
foo.txt
ワイルドカードを利用することができるので、ログだけを管理しないということができます。
*.log
管理を外したものの中で、再び管理する
管理を外したものの中で、再び管理するには「!」を使います。これ、どこで使うの?
ディレクトリを管理する
.gitignoreを書いて、必ずつまづくのは、ディレクトリだけを管理できないということです。これはGitの仕様です。
ディレクトリを管理したい場合は、ディレクトリの中にまず「.gitkeep」というファイルを作成します。これは慣習的な名前で、推奨される名前です。
fooというディレクトリを管理したい場合は「foo」ディレクトリの中に「.gitkeep」を作成します。
そして、ワイルドカードを使って、まずfooディレクトリの中にあるファイルすべてを、管理しないという記述を行います。
foo/*
.gitkeepも管理を外れているので、「!」を使って、再び管理するという記述を行います。
!foo/.gitkeep
まとめて書くと以下になります。
foo/* !foo/.gitkeep
これで、fooディレクトリをGitリポジトリで管理できます。