Как сравнить 2 директории и вывести отличающиеся файлы?
Здравствуйте. Столкнулся с проблемой. Не могу упростить процесс обновления сайта на хостинге.
В локальной директории есть 2 варианта одного сайта. Первый это локальная версия, вторая - версия которая будет выгружена на сервер. Однако каждый раз выкладывать весь проект очень не удобно. Поэтому ищу программу, которая будет сравнивать, какие файлы изменены и копировать их учитывая иерархию папок в отдельный каталог, для легкого переноса их. Так же приветствуется любой метод, который используете вы. Спасибо за помощь.
Программ миллион. Вы бы хоть уточнили в какой среде вы можете выполнять команды.
Начиная от обычного rsync, find, diff и заканчивая полноценным деплоем при помощи кучи вариантов.
Почему неудобно выкладывать весь проект - не уточнено.
С юниксовыми командами практически не работал.
Неудобно, потому что хочется и выполнять этот процесс быстрее. Так же на сервере лежат файлы, относящиеся к пользовательским данным, например изображения. Изображения с аналогичными наименованиями имеются и на локальном сервере и их нельзя смешивать.
Текущий рабочий процесс состоит из следующих шагов.
С помощью программы WinMerge сравниваются 2 версии сайта.
В этой же проге исключаю не интересующие директории и выполняю копирование изменений в рабочую версию сайта на локале .
Этот каталог заливаю хостинг.
Не нравится, то что я заливаю файлы, которые я точно знаю, не были отредактированы. Так почему я должен их вновь загружать.
Поэтому и требуется помощь от людей которые решают подобные проблемы каждый день.
1. вопросов как синхронизировать каталоги - в инете готовых ответов множество
2. почитайте справку по rsync - это в линуксе штатный способ номер один для синхронизации двух каталогов, удаленно по ssh может работать. Есть возможность односторонней синхронизации - настраиваете чтобы с вашего компа на удаленный в одну сторону, тогда он будет ваши изменения туда заливать а новые файлы оттуда к вам - нет.
Ну и вопрос - почему нельзя локальное запаковать в архив, скинуть и там распаковать? чем такой способ нагружает?
Вариант архивирования интересен, однако, есть проблема, скажем на сервере лежит файл, но я решил урезать функционал и снес файл, соответственно на локалхосте его уже нет. Как я понял, распаковка архива гарантирует обновление файлов, но старые файлы, которых нет в архиве, но есть на сервере останутся нетронутыми.
Нагрузки как таковой нет, просто хотелось процесс упростить.
Урезать функционал можно комментированием функций, можно и пустой файл.
Если вы хотите по -взрослому, почитайте кучи ответов про deploy php приложений на хостинг