1

Я работаю локально на Mac под управлением MAMP и BBEdit. В настоящее время я использую Transmit для синхронизации файлов по (S)FTP. Мне нравится программное обеспечение, и оно имеет функцию "синхронизации" для сравнения локальных файлов с удаленными по размеру файла или дате изменения, но я обнаружил, что эта функция ненадежна в любом из этих параметров. Я догадываюсь, что это результат:

  1. OSX Mt. Lion перечисляет размер файла в КБ и на сервере linux, используя KiB (подробнее об этом здесь)
  2. Я использую git для контроля версий, и я думаю, что даты изменения не синхронизируются, когда я переключаюсь между ветвями.

Суть в том, что Transmit кажется идеальным инструментом для небольших проектов с меньшим количеством разработчиков, но для проекта, над которым я сейчас работаю (с несколькими рабочими ветвями, частыми коммитами и необходимостью точной, систематической синхронизации файлов), это не так. не похоже на работу.

Я также использовал верный Filezilla, который, похоже, не имеет таких же проблем с надежностью, но также не имеет реальной функции "синхронизации". Это покажет различия, но вам нужно просмотреть каталоги вручную и найти их все (например, охота за пасхальными яйцами). Это не практично для меня, потому что изменения часто затрагивают много файлов в разных каталогах.

Мой вопрос: как правильно это сделать ??

Я видел здесь, что BBEdit имеет FTP-браузер и инструмент командной строки diff-like, но я не нашел никакой документации о том, как использовать его с удаленными файлами.

2 ответа2

1

Используйте rsync. Если вы находите документацию непробиваемой, попробуйте оболочку графического интерфейса grsync. rsync специально создан для синхронизации. У него есть много опций, которые почти наверняка покроют ваши потребности, и, насколько я могу судить, почти все они доступны через grsync. Это также довольно хороший инструмент для создания любого вида удаленного копирования файлов с использованием дерева каталогов, будь то синхронизация или нет - быстрее, чем scp или даже ftp, наравне с tar | ssh, но менее сложным.

1

То, что вы ищете, это rsync, с моей точки зрения. Лучший способ начать - это man-страница: http://linux.die.net/man/1/rsync

Технически, нет фиксированного рабочего процесса, как использовать инструмент. Есть ряд моделей за гранью воображения большинства людей. Например, вы можете заставить его вести себя как машина времени OSX: http://blog.interlinked.org/tutorials/rsync_time_machine.html В основном вам нужно указать свой рабочий процесс и найти соответствующий набор опций / переключателей, чтобы сделать rsync. делать то, что вы предпочитаете.

На самом деле, вы можете найти множество графических интерфейсов, если вам не нравится использовать командную строку. Хороший пример это: http://www.opbyte.it/grsync/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .