Я разработал решение для вас.Я попробовал это в моей среде, и это работает, как вы ожидаете.
Таким образом, в дополнение к тому, что сказал @Bram, вы можете создавать .env
файлы, относящиеся к филиалам. Например,
.env.master
и .env.develop
.Добавьте оба к .gitignore
.
Затем создайте ловушку git post-checkout
:
vim .git/hooks/post-checkout
со следующим содержимым:
#!/bin/bash
printf '\npost-checkout hook\n\n'
BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD)
cp .env.$BRANCH_NAME .env
Добавьте разрешения для файла:
chmod u+x .git/hooks/post-checkout
Теперь, когда вы оформляете свою ветку develop
, содержимое файла .env
будет от .env.develop
и то же самое для мастера.Это наиболее автоматизированный способ, если только вы не хотите расширять файл Illuminate\Foundation\Application
и таким образом изменять
protected $environmentFile = '.env';
.