git 存在するファイルを監視対象から外したい
アップ済みのファイルを削除せずに「.gitignore」に追加して監視対象から外したい
作成日:2025-07-07, 更新日:2025-07-07
基本
- 「.gitignore」に対象となるファイルを追加
- コンソールから「# git rm --cached html/●●●.php」を実行 ← キャッシュのみ削除
masterブランチ、developブランチでの対応
現状
本番環境はmasterブランチ。テスト環境でdevelopブランチ。
ただし、DBや各接続情報はdevelopブランチで書き換えを行うが、コミットはしない。
機能の改修や実装をしたときはDBや各接続情報以外のみコミット+プッシュ...という面倒なやり方が行われている
要望
developブランチで修正したファイル一覧に「DBや各接続情報」がいつまでも存在する...というのを解消したい
問題点
- DBや各接続情報
- masterブランチで存在する
- developブランチで修正しているがコミットしていない
- 「.gitignore」に追加しても存在するファイルなので監視対象から外れない
- 最新ソースはmaster。developは最新かは不明
対策案
- DBや各接続情報を記載したファイル
- 実体は残す
- 監視対象から外す
- 「.sample」のような雛形ファイルを追加。接続情報はテスト環境の内容にしておきたい
フロー
- developブランチ: 接続情報をコミット+プッシュ。接続情報を監視対象から外す+実体は残す
- masterブランチ: 接続情報を監視対象から外す+実体は残す
- developブランチをmasterブランチと同じにする ← 接続情報以外が同じになる
- developブランチに「.sample」のような雛形ファイルを追加
- masterブランチをdevelopブランチと同じにする ← テスト環境の接続情報が記載された雛形が作られる
対策: 実行
- developブランチにチェックアウト
- 「.gitignore」に対象となるファイルを追加
- 「.gitignore」に対象となるファイルを複製。すべて「.sample」を追加
- コミット+プッシュ
- コンソールから「# git rm --cached html/●●●.php」を実行。キャッシュのみ削除
- masterブランチにチェックアウト
- 「.gitignore」に対象となるファイルを追加
- コミット+プッシュ
- コンソールから「# git rm --cached html/●●●.php」を実行。キャッシュのみ削除
- developブランチにチェックアウト
- masterブランチをマージ → developブランチはmasterブランチと同じになる
- 対象となるファイルを複製してファイル名に「.sample」を追加
- コミット+プッシュ
- masterブランチにチェックアウト
- developブランチをマージ → masterブランチに「.sample」が増える