gitignoreファイルに
フォルダーやファイルの除外方法や注意点をメモしたいと思いまーす
.gitignoreとは
Git の管理から除外したいフォルダーやファイルを指定するためのファイル
概要
ワークツリーの任意の場所に.gitignoreというテキストファイルを作り、
特定の構文を.gitignoreファイルに書くことで、フォルダーやファイルをGitの追跡対象から除外する事ができる
結果、git add の実行時に、インデックスに追加されないようになる
*他のユーザーとこの無視ルールを共有するには、.gitignore ファイルをリポジトリにコミットしなきゃいけない
使用タイミング
- ビルドやコンパイル後のファイルを除外
- キャッシュや一時ファイルを除外
- ログファイルを除外
→logs/ - デバッグ用のファイルを除外
- 秘密情報を含むファイルを除外
→.ssh/(SSH 鍵情報) - 依存関係を再インストールできるものを除外
→vendor/(Composer などの依存管理ツール)
他にも色々あるけど、とりあえずよくある例!
設定方法
- 除外設定を行いたいフォルダーに .gitignore という名前でテキストファイルを作成する
- 除外したいファイルを .gitignore 内で指定する
*設定の有効範囲は .gitignore ファイルの有るフォルダー内全部
実際の操作イメージ
パターン
コメント
# "#" で始まる行はコメント
特定のファイルを無視
test.exe
特定のフォルダーの中身全てを無視
logs/
特定の拡張子を無視
*.exe
フォルダー内の特定拡張子を無視
logs/*.csv
フォルダー内全てを無視
*
特定のパターンを無視しない
!test.exe
注意点
初心者がよくやっちゃうことをメモ
例えばプロジェクトのディレクトリ構成はこんな感じ
親フォルダー
|
|---public(フォルダー)
| |
| |-----index.php(ファイル)
|
|---compile(フォルダー)
| |
| |-----39575b3aa923ae2_0.file_index.tpl(ファイル)
|
|---logs(フォルダー)
「compile」と「logs」を除外したいとする
多分最初に浮かんだのは
親フォルダーの中に1個.gitignore ファイルを作成して
「
compile/
logs/
」で書いて除外するでしょう
でも!!!
確かに「compile」と「logs」を除外したいが
除外したいのは「その中身」だけなのよ
フォルダーはそのまま存在してほしい
とういうことで、実は下のようなやり方の方が適切
親フォルダー
|
|---public(フォルダー)
| |
| |-----index.php(ファイル)
|
|---compile(フォルダー)
| |
| |-----.gitignore
| |
| |-----39575b3aa923ae2_0.file_index.tpl(ファイル)
|
|---logs(フォルダー)
| |
| |-----.gitignore
.gitignoreの中身はこう書き
「
#まずフォルダー内全てを無視
*
#.gitignoreだけを無視しない
!.gitignore
」