PHPやWordPress、Webサイト制作を学び始めると、GitHubでソースコードを管理する機会が増えてきます。
しかし、その際に注意しなければならないのが「パスワードの管理」です。
私も最初は、
- データベースのパスワードはどこに書けばいいの?
- GitHubにアップしても大丈夫?
- .gitignoreって何?
といった疑問を持っていました。
今回は、初心者向けにGitHub利用時のパスワード管理についてまとめます。
PHPを使ったパスワード管理やパスワードをAIに読み込まれない方法について、別の記事にもまとめているので、気になる方はご参照ください!

なぜパスワード管理が重要なのか
例えば、データベース接続情報を次のように書いたとします。
<?php
return [
'host' => 'localhost',
'dbname' => 'sample',
'user' => 'sample_user',
'password' => 'password123'
];
このファイルをGitHubへアップロードすると、リポジトリを閲覧できる人はパスワードを見ることができます。
特に公開リポジトリの場合は、世界中の誰でも閲覧できる状態になります。
そのため、
- データベースパスワード
- APIキー
- SMTP情報
- 各種認証情報
はGitHubへアップロードしないことが基本です。
.gitignoreとは?
.gitignore は、Gitに「このファイルは管理しないでください」と伝えるためのファイルです。
例えば、
project/
├ .gitignore
├ config/
│ └ database.php
という構成の場合、
.gitignore
config/database.php
と記載します。
すると、
git add .
git commit
git push
を実行しても、
config/database.php
はGitHubへアップロードされません。
初心者がやりがちなミス
実は、
.gitignore
を書いただけでは安心できません。
例えば、
間違った手順
git add .
git commit
↓
後から
.gitignore
を作成
↓
Gitは既にファイルを管理中
↓
引き続きGitHubへアップロードされる
という状態になります。
既に管理されているファイルを除外する方法
もし誤って管理対象にしてしまった場合は、
git rm --cached config/database.php
を実行します。
その後、
git commit
git push
を行うことで、今後はGit管理対象から外れます。
database.phpとdatabase.example.phpを使い分ける
実務ではよく次のような構成を使います。
project/
├ config/
│ ├ database.php
│ └ database.example.php
database.php
本番用
return [
'host' => 'localhost',
'dbname' => 'real_db',
'user' => 'real_user',
'password' => 'real_password'
];
database.example.php
GitHub公開用
return [
'host' => 'localhost',
'dbname' => 'database_name',
'user' => 'username',
'password' => 'password_here'
];
そして、
.gitignore
config/database.php
とします。
すると、
本物のパスワードはGitHubへアップロードされず、
サンプル設定だけ共有できます。
GitHubを使うなら最低限やるべきこと
最低限次の設定例です。
.gitignore
管理したくないファイル名を記入
.env
config/database.php
private/database.php
AI利用時
CursorやClaude Codeを使う場合は、
.cursorignore
や
.claude/settings.json
などを利用して、秘密情報を含むファイルを読み込み対象から除外します。
GitHubで最も多い情報漏洩
初心者の頃は、
「ハッカーにサイトを見られるのでは?」
と思いがちです。
しかし実際には、
- GitHubへ誤って公開
- APIキーをコミット
- データベースパスワードをアップロード
- AIへそのまま貼り付け
といった人的ミスが圧倒的に多いです。
そのため、
「ブラウザから見えるか」
よりも、
「GitHubへアップロードしていないか」
を意識する方が重要です。
まとめ
GitHubを使う場合、
パスワードやAPIキーを含むファイルは必ず .gitignore に登録しましょう。
おすすめは、
- database.php はGit管理しない
- database.example.php をGit管理する
- .gitignore を最初に作成する
- AIへコードを共有する際は秘密情報を削除する
という運用です。
私自身もPHPやデータベースを学び始めた際に、「PHPのコードはブラウザから見えないから大丈夫」と考えていました。
しかし実際には、ブラウザよりもGitHubやAIへの共有による情報漏洩の方が起こりやすいことを知りました。
これからGitHubを使い始める方は、まず .gitignore の使い方を覚えるところから始めることをおすすめします。


