私はdjangoプロジェクトを持っており、gitを使用しています。
ブランチごとに異なる settings.py ファイルが必要です。
merge=ours を使用して settings.py を .gitattributes に追加することをテストしましたが、競合がなければ Git は正常にマージされるため、機能しませんでした。
また、settings.py を .gitignore に追加することはオプションではありません。settings.py で何かを変更した場合、同じブランチにプッシュしたいからです。
マージ時にファイルを無視してプッシュする方法はありますか?
アップデート:
VonC のソリューションを試し、settings_production.py と settings_development.py の 2 つの設定を作成しました。
そこで、gitpython を pip でインストールし、settings.py で次のように使用しました。
from git import Repo
import os
r = Repo(os.path.realpath(os.path.dirname(__file__)))
if r.active_branch.__str__( == 'master':
from settings_production.py import *
else:
from settings_development.py import *
そして、それはうまくいきました。