拡張 CodeIgniter フレームワークを管理するために git を使用しています。これは、追加のヘルパー、ライブラリなどを備えた現在の CI リリースのクローンです。
このフレームワークを使用している多くのサイトがあり、新しいヘルパー メソッドを追加したり、1 つのサイトのバグを修正したりした場合、カスタム ファイルを上書きすることなく、他のすべてのサイトを簡単に更新できるようにしたいと考えています。
以下のワークフローを実現したい
- 新しいサイト ディレクトリ
git initを作成して、空のローカル git リポジトリを初期化する - これをリモート フレームワーク リポジトリにリンクします
git remote add origin git@github.com:username/framework_repo - リモート フレームワークの新しいコピーをプルする
git pull origin master - サイト ファイルに変更を加え、リモート リポジトリにコミットします。
git push origin master - これらの変更を他のサイトにプルダウンします
- 手順 4 と 5 を繰り返します
それはすべて問題ありませんが、
- config.php や database.php などのファイルは、各サイトに固有であるため、リモート リポジトリにコミットすることはできません。
- ただし、それらをリモート リポジトリに存在させたいので、最初のプル リクエストでデフォルト ファイルがローカル ディレクトリにダウンロードされます。
- さらに、リモート リポジトリから別のプルを実行してフレームワークを更新する場合、これらのファイルを上書きしたくありません。
これを達成する最良の方法は何ですか?いくつかの .gitignore ブードゥー?私はすでにファイルを無視するために .gitignore を使用していますが、この場合は最初のリクエストでのみファイルをプルしたいので少し異なります。
それが理にかなっていることを願っています。