本日のお悩み
APIを使用したwebアプリを作成し、Gitへcommitする際にjsonファイル(私の場合はAPIキー)などの公開したくないファイルはどう管理すれば良いのか。
本日の処方箋
.gitignoreというファイルをプロジェクト直下に新規作成する。
.gitignoreファイルの記載方法
.gitignoreはgitに管理させたくないファイルを記述します。以下何パターンか記載します。
特定の名前のファイルを全て除外する(これが一番早いし簡単)
/をつけないsample.txt
指定したファイルを除外する
最初のみに/をつける。最後には/をつけない。/sample/file
特定のディレクトリを除外する
最初と最後に/をつける
/sample/directory/
特定の拡張子のファイルを除外する
*をつける*.py
特定の名前のディレクトリを全て除外する
最後にだけ/をつけるdirectory/
特定のディレクトリ以下にある特定のディレクトリ名を全除外する
mainディレクトリ以下にあるdirectoryというディレクトリ名のディレクトリを全てスルー/main/a/directory
ややこしい例
すべての .txt ファイルを除外するが、main/sample.txtファイルのみcommitする*.txt
!/main/sample.txt
ハマりやすい例
/mainディレクトリを除外したいが/main/sample.txtだけはcommitしたい場合/main/
!/main/sample.txt
とすると /main/ ディレクトリが優先されて除外されてしまう。
なのでsample.txtをcommitしたくてもmain配下にあるため、この場合は何も指定されない。
ではどうすれば良いのか↓
/main/*
!/main/sample.txt
末尾に*をつけることで、/main/ ディレクトリ以下のファイルを除外するが、その中にあるsample.txtファイルだけはcommitの対象とする。