質問: Git(Bitbucket)を使ってソース管理をしています。 configファイルといった環境固有の設定についてはリモートの共有リポジトリで雛形的なものを管理しておき、それぞれのローカルでは編集して使いたいです。 ローカルの変更はリモートリポジトリに反映させたくないのですが、どうすればいいでしょうか? .gitignoreファイルに記述するとファイル自体がなくなってしまいます。 実現したいのはリモートにもローカルにも存在し、ローカルでの変更を無視させることです。 こういう運用は可能でしょうか? よろしくお願いします。
回答: 下記の記事のように assume-unchanged や skip-worktree でローカルの変更を無視させることができます。 が、CHERRY さんが言われているような運用の方が無難だと思います。 あるいは、`config.dist` みたいなファイルをリポジトリに含め、`config` は `.gitignore` で除外しておく、ローカルでは `config.dist` をコピーして `config` を作成し、アプリがコンフィグを読むときは下記の順で最初に見つかったものを読む。 * `config` * `config.dist` このようにすることで、`config.dist` がデフォルト設定で、変更したいときは `config` を使う。みたいにもできるかと思います。