При разработке на тестовом сервере и периодическом переносе изменений на боевой есть необходимость
Если есть необходимость при переключении ветки с репозитории менять конфиг подключения к серверу, то можно использовать git hooks
Создаём хук .git/hooks/post-checkout
Устанавливаем ему атрибут 775
chmod 0775 .git/hooks/post-checkout
Его содержимое
#!/bin/sh
if [ "$3" -eq 1 ]; then
symrefHEAD=`git symbolic-ref --quiet HEAD`
if [ "$symrefHEAD" = "refs/heads/master" ]; then
cp sftp-config.json-prod sftp-config.json
elif [ "$symrefHEAD" = "refs/heads/test" ] ; then
cp sftp-config.json-test sftp-config.json
fi
fi
В этом примере у меня есть 2 конфига:
боевой sftp-config.json-prod
тестовый sftp-config.json-test
при смене ветки подставляется тот или иной конфиг