LoginSignup
9
4

More than 1 year has passed since last update.

.gitignoreファイルによる除外方法

Posted at

gitignoreファイルによるファイル・ディレクトリの除外方法がわからなかったので、忘れないうちに記載しようと思います。

概要

gitignoreファイルは、ワークツリーの任意の場所に.gitignoreというテキストファイルを作り、
特定の構文を.gitignoreファイルに記載することで、ファイル・フォルダをGitの追跡対象から除外する事ができる。
結果、git add の実行時に、インデックスに追加されないようになる。

例)ディレクトリ構成

親フォルダ
|
|---.gitignore
|
|---file(ファイル) 
|
|---directory1(フォルダ)
|      |
|      |-----file(ファイル)
|
|
|---directory2(フォルダ)
       |
       |---directory1(フォルダ)
              |
              |-----file(ファイル)

書き方

①ファイル・ディレクトリ名のみ(file、directory 等)

.gitignoreファイルを配置したフォルダ(親フォルダ)以下の全ての※サブディレクトリを対象に、同名のファイルorディレクトリを除外する。

 例)

 #.gitignoreファイル記載項目
file
//除外対象 ★
親フォルダ
|
|---.gitignore
|
|---file(ファイル) ← ★
|
|---directory1(フォルダ)
|      |
|      |-----file(ファイル)← ★
|
|
|---directory2(フォルダ)
       |
       |---directory1(フォルダ)
              |
              |-----file(ファイル)← ★

②末尾に「/」+ディレクトリ名を指定(directory1/ 等)

.gitignoreファイルを配置したフォルダ(親フォルダ)以下における全ての※サブディレクトリを対象に,同名フォルダを除外。
※正確には、ファイルを配置したフォルダ(親フォルダ)以下における全ての同名フォルダ内にあるファイルを除外する。
末尾の「/」は、「ディレクトリとその配下の除外」を意味する記号となる。仮に同じ名前のファイルが存在しても除外対象にならない。

 例)

 #.gitignoreファイル記載項目
directory1/
//除外対象 ★
親フォルダ
|
|---.gitignore
|
|---file(ファイル) 
|
|---directory1(フォルダ)← ★
|      |
|      |-----file(ファイル)← ★
|
|
|---directory2(フォルダ)
       |
       |---directory1(フォルダ)← ★
              |
              |-----file(ファイル)← ★

③先頭に「/」+ファイル・ディレクトリ名(/file、/directory1/file 等)

.gitignoreファイルを配置したフォルダ(親フォルダ)をカレントディレクトリとし、相対パスで指定する同名ファイルorフォルダを除外する。

 例)

 #.gitignoreファイル記載項目
/file
//除外対象 ★
親フォルダ ←カレントディレクトリ
|
|---.gitignore
|
|---file(ファイル) ← ★
|
|---directory1(フォルダ)
|      |
|      |-----file(ファイル)
|
|
|---directory2(フォルダ)
       |
       |---directory1(フォルダ)
              |
              |-----file(ファイル)

④末尾と末尾以外に「/」+ファイル・ディレクトリ名(/directory1/ 等)

.gitignoreファイルを配置したフォルダ(親フォルダ)をカレントディレクトリとし、
相対パスで指定する同名ファイルorフォルダを全て除外する。

 例)

 #.gitignoreファイル記載項目
/directory1/
//除外対象 ★
親フォルダ ←カレントディレクトリ
|
|---.gitignore
|
|---file(ファイル) 
|
|---directory1(フォルダ)← ★
|      |
|      |-----file(ファイル)← ★
|
|
|---directory2(フォルダ)
       |
       |---directory1(フォルダ)
              |
              |-----file(ファイル)

⑤先頭に「!」+ファイル・ディレクトリ名(!file 等)

これまで記述した指定から例外的に除外対象から外す。

例)

 #.gitignoreファイル記載項目
file
!/file
//除外対象 ★
親フォルダ ←カレントディレクトリ
|
|---.gitignore
|
|---file(ファイル) ← ▲(除外対象外 Gitの追跡対象になる)
|
|---directory1(フォルダ)
|      |
|      |-----file(ファイル)← ★
|
|
|---directory2(フォルダ)
       |
       |---directory1(フォルダ)
              |
              |-----file(ファイル)← ★

⑥「*」 ワイルドカード(.txt 等)

指定した拡張子をまとめて除外対象にできる。

例)

 #.gitignoreファイル記載項目
*.txt
//除外対象 ★
親フォルダ ←カレントディレクトリ
|
|---.gitignore
|
|---file(ファイル 拡張子.txt) ← ★
|
|---directory1(フォルダ)
|      |
|      |-----file(ファイル 拡張子.pdf)
|
|
|---directory2(フォルダ)
       |
       |---directory1(フォルダ)
              |
              |-----file(ファイル 拡張子.txt)← ★

【参考サイト】
サブディレクトリについて
https://wa3.i-3-i.info/word14116.html

gitignoreについて
https://www-creators.com/archives/1662
https://qiita.com/anqooqie/items/110957797b3d5280c44f
https://comsco.co.jp/technic/git02_gitignore.php

9
4
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
9
4