LoginSignup
2
1

GitでAPIキーなどの公開したくないファイルをcommitさせないようにするには

Last updated at Posted at 2024-04-26

本日のお悩み

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の対象とする。

2
1
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
2
1