# リポジトリに保存したくないファイル

多くのプロジェクトでは、機密情報を使う必要があり、そういった情報をコードに埋め込みたくないため、**環境変数**を使うことがあります。**環境変数**を使うために、`.env`ファイルをプロジェクトに置く必要があるのですが、`.env`をリポジトリで管理すると、外部のリポジトリ共有サービスにて、閲覧される危険性があります。

そのため、特定のファイル、ディレクトリをリポジトリに保存しないようにする仕組みがあります。

まずは以下コマンドにて、`.env`ファイルを作成しましょう。

```bash
echo PASSWORD=password > .env
```

その後、`git status`にて確認すると、以下のように`.env`が赤文字で表示されるかと思います。

この状態で、`git add .`すると、`.env`がステージングに追加されてしまいます。

<figure><img src="https://1869761657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcUBbYqol4PMzZJggiMqV%2Fuploads%2FlKyn5QW7EZscoUXIoSKS%2F%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-11-25%209.54.32.png?alt=media&#x26;token=cf9a1133-655a-4424-aa58-526c1bb4c2f4" alt=""><figcaption></figcaption></figure>

それを防ぐため、以下のコマンドを叩いて、`.gitignore`ファイルを作成します。

```bash
echo .env > .gitignore
```

上記にて、以下のような.gitignoreファイルが作成されたかと思います。

{% code title=".gitignore" %}

```
.env
```

{% endcode %}

再び`git status`を叩くと、以下のように`.env`の表示が消え、その代わりに`.gitignore`が表示されるかと思います。

<figure><img src="https://1869761657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcUBbYqol4PMzZJggiMqV%2Fuploads%2Fda3EIup0uQRF3NwbmK8p%2F%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-11-25%209.59.29.png?alt=media&#x26;token=2f75f5d6-3f0d-409e-a410-d5c590da77cd" alt=""><figcaption></figcaption></figure>

上記にて`.env`を無視することができましたので、以下コマンドにてcommitしていきましょう。

```bash
git add .
```

```bash
git commit
```

コミットメッセージは以下にします。

```
.gitignoreを作成し、.envをcommitの対象外とした
```
