Я никогда не использовал источник управления, чтобы выталкивать файлы на производственный сервер, но это звучит интересно. Я использую ANT.
Я обнаружил, что, имея рабочее пространство непосредственно в местоположении сервера, он создает много скрытых файлов, и если вы используете исходный контроль, эти скрытые файлы могут быть в каждом каталоге. Я не чувствовал себя правильно, просто копируя и вставляя их в свой сервер производства ...
So: Я установил свое рабочее пространство, чтобы код был в одном месте, а не на моем локальном сервере. Когда я готов тестировать, я запускаю скрипт ant. Этот скрипт отбрасывает все файлы, которые я хочу на сервер. Тогда, если я чувствую, что он готов к работе, я просто перемещаю эти файлы в производство (ftp или что-то еще).
Вот мой муравей скрипт для местных:
<?xml version="1.0" encoding="UTF-8"?>
<project default="init" basedir=".">
<target name="init">
<echo message="Copying files to C:/Sandbox/xampp/htdocs"/>
<sync todir="C:/Sandbox/xampp/htdocs">
<fileset dir=".">
<include name="**/*.html" />
<include name="**/*.htm" />
<include name="**/*.php" />
<include name="**/*.css" />
<include name="**/*.js" />
<include name="**/*.jpg" />
<include name="**/*.png" />
<include name="**/*.gif" />
<exclude name="env.php"/>
</fileset>
</sync>
</target>
</project>
Вы заметите, что я исключаю файл под названием «env.php». Этот файл содержит специальный код среды. Такие вещи, как имена баз данных и т. Д., Которые различаются между местными и производственными.
Я понимаю, что это еще один шаг, чем просто нажимать ctrl-s, а затем F5, чтобы видеть изменения локально, но он делает развертывание в других местах намного проще.
Удачи!