マージ禁止
開発環境と本番環境では、どうしても差分が出る。
その差分への対処に頭を悩ませていたけど
他の情報を検索しているときに、素敵な記事を発見した♪
サボり屋の技術メモ:Gitで内容が異なるファイルをマージ対象から除外(無視)する設定
開発環境で開発用に用意しているファイルを本番環境には入れたくない。
OpenPNE3 では、開発用に下記開発用ページが用意されている。
これらは、開発環境では利用をするけど
本番環境に上がったらエライことになる。
Git の設定で何とかなりそう!
- 別ブランチ(develop から master など)へのマージの際に除外される
- 下記はそのまま利用できる
- develop ブランチでのコミット
- リモートへのプッシュ
- リモートから他へのマシンのプル
おおお、これぞ正しく探していた方法。
feature ブランチや release ブランチを新規作成するときは
マージではなくリセット?(コピー)なので、release ブランチへは入っちゃうのかも。
でも、そこから master へいけないはずだから、理論上は問題ないはず。
ただ、release は、できる限り master と同一性を保証したいので
今後の行方を見守らなければ。
- .gitglobal
- 各リポジトリの .git/config
いずれかに、記述。
- [merge "ours"]
- name = "Keep ours merge"
- driver = true
[merge “ours”] の config設定は固定です。特殊なマージエンジンを有効化しているらしい。
サボり屋の技術メモ:Gitで内容が異なるファイルをマージ対象から除外(無視)する設定
んむ。
まんま書くことにしよう。。。
こちらに記述することで設定可能。
上記で設定した merge=ours という文字列を、マージしたくないファイル名の後に付ける。
- ignore_target_file.txt merge=ours
- .gitignore と真似る
- ファイル名
- .gitignore と真似る
- ファイル名
- フルパス
- .gitignore 同様、ワイルドカードを利用できる
- web/*_dev.php
確かに、上記4ファイルは、develop には存在し、master には存在しない。
.gitattributes は、両ブランチに存在する。
やった~!
確かに、上記4ファイルは存在したまま。
ただ、develop ブランチでは、存在するのが当たり前なので
まだよくわからない。
変更するファイルじゃないしな~。
無事に .gitattributes ファイルがプルされました。
ん~、こちらも問題があるかどうかは不明。