Программное обеспечение для синхронизации файлов между двумя папками, например Dreamweaver.

Я программист, и мои типы файлов обычно имеют дело с текстом и изображениями, а иногда и с другими файлами, такими как звуковые файлы и исполняемые файлы. До сих пор я использовал Dreamweaver для выполнения всей работы по синхронизации, и он довольно хорошо и очень быстро определял, был ли файл изменен или нет. Кроме того, сравнение древовидного представления Dreamweaver позволило мне синхронизировать только определенную папку, если я этого хотел.

Теперь, когда условия лицензирования Adobe изменились, я больше не в состоянии использовать это программное обеспечение и пошел дальше. Но я все еще скучаю по функции синхронизации, которую дал мне Dreamweaver. Я попробовал несколько бесплатных/платных приложений, которые утверждают, что делают это, но большинство из них либо имели плохой интерфейс, либо требовали целую вечность для анализа папок. В то время как некоторые позволяли мне синхронизировать только весь проект (что всегда было бы медленным), я думаю, что очень немногие инструменты синхронизируют папки, а не весь проект.

Есть ли хороший инструмент для синхронизации файлов между компьютерами? Это могут быть любые платформы win, mac, linux. Gui был бы лучше, но тогда я хотел бы увидеть все доступные варианты.

Функции редактирования, которые я ищу, указаны ниже.

  • Графическое приложение для управления синхронизацией
  • Должна синхронизировать папку, на которую в данный момент нажимают, и не всегда видеть синхронизацию всей папки как задачу синхронизации.
  • Возможность «ПОЛУЧИТЬ» и «ПОСТАВИТЬ» файлы на сервер (направленная синхронизация)
  • Быстрое сравнение каталога для синхронизации
  • Должен обрабатывать синхронизацию между ftp-сервером
  • Должен работать в Windows, но может синхронизироваться и в Linux.
  • Синхронизация также включает возможность синхронизации локальных папок или папок локальной сети.

Ответы (3)

Я настоятельно рекомендую WinSCP . Я использую его уже несколько лет, синхронизируя (частично) свой домашний компьютер с моим компьютером на работе и рядом веб-сайтов. Никогда не было никаких проблем с этим.

При обычном использовании WinSCP выглядит как обычный FTP-клиент, но у него гораздо больше возможностей, чем просто получение и размещение файлов. Позвольте мне перейти один за другим к вариантам, которые вы перечислили:

  • ДаОн имеет простой графический интерфейс, который позволяет вам управлять синхронизацией
  • ДаКогда вы подключитесь и нажмете, ctrl-Sпоявится окно синхронизации, которое выглядит так, как показано ниже. По умолчанию он предлагает синхронизировать выбранные в данный момент папки, но вы можете настроить его в соответствии со своими потребностями, если вы оказались в неправильной папке. Как видите, вы можете указать, как сравнивать и в каких направлениях синхронизировать, а также получать предварительный просмотр изменений, чтобы избежать автомобильных аварий.

введите описание изображения здесь

  • ДаВы можете просто «GET» и «PUT», перетаскивая файлы/папки с локального на удаленный и наоборот.
  • ДаВы можете сравнить текущую просматриваемую локальную и удаленную папку, нажав Shift-F2. Все файлы, которые отличаются, будут выделены (и выбраны, чтобы их можно было сразу скопировать)
  • ДаВы можете очень легко войти на любой ftp-сервер и выполнить синхронизацию.
  • ДаОн работает в Windows и может обмениваться данными через FTP и SCP, поэтому также можно использовать системы Linux и Mac.
  • ПримечаниеЯ не уверен, возможна ли синхронизация локальных папок, никогда не пробовал, потому что Windows в любом случае имеет встроенную проверку временных меток, но я думаю, что это должно быть возможно, просто установив какое-то подключение к «localhost». Синхронизация по локальной сети, безусловно, возможна при использовании другого компьютера в качестве хоста.

Приятные бонусные функции

  • Функция «Обновлять удаленный каталог», которая будет выполнять сравнение в реальном времени между вашей локальной папкой и удаленной папкой и обязательно обновлять удаленную папку, если что-то изменится локально.
  • Запускает сценарии синхронизации. Если вы хотите, например, чтобы определенная папка синхронизировалась каждую ночь, вы можете написать сценарий и поместить вызов WinSCP с этим сценарием в планировщик задач Windows для автоматизации синхронизации.
  • Нет необходимости в установке. Несмотря на наличие установочного пакета, у него также есть переносимая исполняемая версия, поэтому вам не нужно ничего устанавливать, чтобы запустить его.

Подрывная деятельность (СВН)

Вы синхронизируете в основном код.
Поэтому вы должны использовать контроль версий.
Я рекомендую Subversion и клиент TortoiseSVN. Subversion обычно сокращается до SVN. Клиенты с графическим интерфейсом и командной строкой существуют для всех основных ОС.

  • Графическое приложение для управления синхронизацией : Да : см. рисунок
  • Должна синхронизировать выбранную в данный момент папку и не всегда видеть синхронизацию всей папки как задачи синхронизации : Да : вы можете синхронизировать папку внутри папок и т. д.
  • Возможность "GET" и "PUT" файлов на сервер (направленная синхронизация): Да : есть 2 основные операции: Commit (=Put) и Update (=Get).

  • Быстрое сравнение каталога для синхронизации : Да : см. рисунок. Также вы можете делать сравнения файлов.

  • Должен обрабатывать синхронизацию между ftp-сервером Не совсем так :
    • Вам необходимо установить клиент на FTP-сервере и запустить проверку/обновление.
    • Или вы можете использовать инструмент непрерывной интеграции, чтобы автоматически выполнять проверку и отправку по ftp при изменениях.
  • Должен работать в Windows, но может синхронизироваться и в Linux. Да , все основные ОС. У меня нет предпочтительного инструмента с графическим интерфейсом для Linux (я использую командную строку), но я знаю, что хорошие инструменты существуют.
  • Синхронизация также включает возможность синхронизации локальных папок или папок локальной сети. : Да , я не думаю, что SVN проводит различие между сетевым файловым ресурсом и локальным файлом.

Дополнительные возможности:

  • Слияние взаимодействия/конфликта нескольких пользователей: только в текстовых (кодовых) файлах будет предпринята попытка слияния. Другие файлы будут отображаться как конфликтующие. SVN отлично справляется с этой задачей, но в основном просто предоставляет вам платформу для того, чтобы сообщить ей, как вы хотите выполнить слияние. (Распределенные системы контроля версий, такие как GIT и Mercurial, делают это лучше.)
  • Контроль версий: он отслеживает все версии ваших файлов. Это означает, что если вы скажете удалить какой-то раздел кода, а через 2 недели захотите его вернуть, вы можете извлечь его из прошлой версии и скопировать.

ИЗОБРАЖЕНИЕ SVN, ПОКАЗЫВАЮЩЕЕ ФАЙЛЫ, ИЗМЕНЕННЫЕ

Конечно, контроль версий помог бы, и я также мог бы использовать GIT, но мне также необходимо иметь возможность передавать файлы на удаленные серверы с помощью ftp, что невозможно с этой опцией. Хотя я использую аналогичный способ обнаружения и загрузки измененных и новых файлов прямо сейчас, но это не очень удобно, и время от времени я что-то пропускаю.
Это действительно проблема, для решения которой, как мне кажется, подойдет цепочка инструментов непрерывной интеграции. А контроль версий — это первый шаг к CI. Вот сообщение в блоге, объясняющее, как это сделать с помощью TeamCity diaryofaninja.com/blog/2010/05/09/…
Вариант, упомянутый в этом обсуждении, может быть полезен. Он предлагает возможность передавать по FTP любые файлы, измененные в репозитории git.

Зависит от того, с чем вы хотите синхронизироваться.

Я использовал два приведенных ниже решения, они работают так же, как Dropbox, находятся в строке состояния и синхронизируются, как только происходят изменения. Они синхронизируют как локальные, так и удаленные изменения.

Синхронизация с Adobe Drive

Для синхронизации с Adobe Drive, который реализует протокол CMIS, вы можете использовать CmisSync .
Бесплатный, с открытым исходным кодом.
Отказ от ответственности: поддерживается мной.

Синхронизация с обычным FTP-сервером

Если вы хотите синхронизироваться с обычным FTP-сервером, вы можете использовать FTPbox .
Бесплатный, с открытым исходным кодом.
К сожалению, протокол FTP не очень эффективен для синхронизации файлов.

Нет, мне не нужно автоматизированное решение здесь. Это файлы кода. И DW также обнаружил, изменился ли удаленный файл, когда я пытаюсь синхронизировать. Он имеет отдельную функцию «PUT» и «GET» и «GET AND PUT», которая дает вам больше контроля над тем, что должно быть сделано. Помещать ли все новые файлы на сервер. Получить новые файлы на сервер или сделать и то, и другое. Это даже позволяло вам делать это в определенной папке.