Можно ли иметь отдельные правила игнорирования git для каждого пульта?
Вопрос
Вот моя ситуация.Я настраиваю сервер разработки и рабочий сервер на PHP Fog.У меня есть один набор файлов на моем локальном компьютере, с которым я хотел бы иметь возможность работать и отправлять его на каждый из двух серверов PHP Fog.
Однако я хочу, чтобы мой сервер разработки был защищен традиционными методами htpasswd/htaccess.Это означает, что производственный сервер должен игнорировать эти два файла в моей рабочей копии.
Есть ли способ сказать рабочему серверу игнорировать эти два файла при совершении фиксации, но позволить им пройти при отправке на сервер разработки?
Решение
Я тоже изучал это некоторое время назад и использовал эту статью, она должна объяснить, как использовать один htaccess для нескольких сайтов, а не беспокоиться о git.
Сообщение блога:"Одинокий .htaccess
файл в вашем репозитории git как для вашего сервера разработки, так и для рабочего сервера." к Марк Алан Эванс
Он описал проблему так:
Проблема:
Вы хотите иметь
dev.yoursite.com
иwww.yoursite.com
но ты не хочешьdev.yoursite.com
виден публике.Решение:
Если вы используете Apache (а многие из нас используют),
.htaccess
и.htpasswd
в помощь.
В вашей.htaccess
добавить файл:
SetEnvIf Host yourstagingserver.com passreq
AuthType Basic
AuthName “Staging Server”
AuthUserFile /path/to/.htpasswd
Require valid-user
Order allow,deny
Allow from all
Deny from env=passreq
Satisfy any
Настройте файл паролей как для разработки, так и для производства.
Где бы вы ни указали
/path/to/.htpasswd
файл, перейдите в эту папку с консоли и введите «htpasswd -c .htpasswd mark
», где mark — это первый пользователь, для которого вы хотите создать логин.
Для каждого дополнительного человека введите «htpasswd .htpasswd linda
" гдеlinda
это следующее имя пользователя, которое вы хотите добавить в.htpasswd
файл.
Каждый раз вам будет предложено дважды ввести пароль (ваш пароль будет сохранен в.htpasswd
файл), зашифрованный рядом с созданным вами именем пользователя.Примечание:
AuthUserFile
ожидает абсолютный путь, но если вы не начинаете свой путь с косой черты, по умолчанию используется каталог, указанный вами в вашем файле. httpd.conf
файл как ServerRoot
.