Как сравнить содержимое двух текстовых документов

Во время работы с текстовыми документами часто приходится сравнивать их по содержанию. Эта необходимость возникает, если над документом работали несколько человек или документ был отправлен учителю на согласование и редактирование, нужно быстро найти все сделанные второй стороной изменения. Но и сам пользователь может создать несколько копий документа и запутаться: какая версия последняя, и какие исправления были внесены. Рассмотрим все возможности быстрого, а главное автоматического сравнения двух документов.

1. Сравнение двух документов в MSWord (начиная с версий программы MSWord 2007, 2010, 2013)

Воспользуемся функцией Юридическое примечание, позволяющей выполнять автоматическое сравнение документов.

Запускаем программу MS Word. На ленте открываем вкладку Рецензирование, выбираем раздел Сравнить и раскрываем возможные варианты команды Сравнить… (смотри на Рисунок 1), выбираем первую команду – Сравнение двух версий документа (Юридическое примечание).

Рисунок 1 Запуск автоматического СРАВНЕНИЯ двух текстовых документов

Откроется окно, в котором указываете путь к хранению исходного и измененного документов. Для указания пути необходимо воспользоваться пиктограммой с изображением желтой папки, как показано на Рисунке 2.

Рисунок 2 Внешний вид окна Сравнение версий

Командная кнопка Больше>> (Рисунок 2) предоставляет больше дополнительных настроек отображения (подсвечивания) выполненных изменений. При ее активации окно Сравнения версий примет следующий вид (смотри Рисунок 3)

Рисунок 3 Дополнительные возможности при автоматическом сравнении текстовых документов

В открывшемся окне в разделе Параметры сравнения отметить галочками те изменения, которые необходимо отобразить в процессе автоматического сравнения документов.

По умолчанию окно Сравнения выглядит следующим образом.

Рисунок 4. Окно автоматического сравнения двух версий документа

Рассмотрим области окна автоматического сравнения документов в Юридическом примечании.

  • Слева приводится Сводка исправлений: что именно было исправлено и кем (если имя пользователя указано в настройках Word).
  • В центре – Сравниваемый документ – документ с внесенными исправлениями (показываются красным: добавление и удаление слов).
  • Справа сверху: исходный документ, а ниже – измененный документ.

Область сверки Сводка исправлений можно настроить в виде горизонтальной панели рецензирования. Для этого необходимо выполнить последовательно следующие команды: вкладыш Рецензирование => Область проверки => Горизонтальная панель рецензирования.

Рисунок 5. Настройка Горизонтальной панели рецензирования

В этом случае окно автоматического сравнения двух документов будет выглядеть следующим образом

Рисунок 6. Окно автоматического сравнения документов при горизонтальной панели рецензирования

Перемещаться по исправлениям можно как с помощью левой клавиши мыши, кликая на текст в нужном месте документа, так и с помощью Вкладки Рецензирование – Область проверки.

Рисунок 7 Работаем с опцией ИЗМЕНЕНИЯ

Выявленные изменения необходимо либо Принять, чтобы оно осталось в измененном документе и больше не показывалось как исправление, либо Отклонить, если не согласны. Передвигаться по исправлениям можно с использованием клавиш: Назад и Далее (смотри Рисунок 7).

Чтобы отклонить или принять все исправления, используем команду Принять (или Отклонить). С помощью левой клавиши мыши раскрываем список опций команды Принять/Отклонить (стрелочка вниз) и из предложенных вариантов выбираем нужную, например: Применить (Отклонить) все исправления в документе.

Рисунок 8 Окно команды ПРИНЯТЬ

2. Сравнение двух блоков текста в интернет-браузере

При сравнении содержимого двух документов также можно воспользоваться специализированными сервисами, предоставляемыми интернет-браузерами. Они удобны при определении различий в текстах как англоязычных документов, так и при работе с русскоязычными текстами, например: Text-Compare (http://text-compare.com/), TextDiff (http:// www.textdiff.com/) и Quick Diff (http://www.quickdiff.com/). С их помощью можно сравнивать фрагменты текста, таблицы и даже программный код.

Рассмотрим кратко технологию сравнения документов в каждом из трех рекомендуемых сервисов. Общим для них является размещение двух фрагментов в соответствующие окна, а затем инициализация процесса сравнения.

Text-Compare (http://text-compare.com/). Для сравнения двух фрагментов в данном сервисе достаточно скопировать эти фрагменты в соответствующие окна, а затем запустить процесс сравнения (командная кнопка Compare). Различающиеся, а также отсутствующие в одном из сравниваемых документов фрагменты текста будут выделенными (отличающиеся элементы выделяются цветом при сравнении таблиц, в программных кодах при сравнении дополнительно отмечаются строки с отличиями).

Рисунок 9 Окна Text-Compare до выполнения операции сравнения и после ее выполнения

TextDiff (http://www.textdiff.com/). Окно сервиса представляет собой два окна, в которые помещаются сравниваемые фрагменты текста, таблицы или программного кода.

Рисунок 10 Окно сервиса TextDiff

Результаты отображения процесса сравнения с использованием TextDiff представляют один результирующий фрагмент, в котором зеленым цветом выделяется текст, появившийся во втором фрагменте (то есть отсутствующий в первом), а красным – удаленный текст.

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

Рисунок 11 Результата сравнения с использованием сервиса TextDiff

Принцип представления результатов в Quick Diff точно такой же, как и в TextDiff. Отличие состоит в том, что удаленные из второго фрагмента данные не только отображаются другим цветом, но еще и зачеркиваются. При этом к сложностям сравнения текста добавляется проблема – некорректное распознавание кириллицы (смотри Рисунок 12).

Рисунок 12.Окно сервиса Quick Diff после выполнения операции сравнения

  1. сервис Text-Compare может использоваться для сравнения текстов, таблиц и программного кода безо всяких ограничений;
  2. сервис TextDiff может использоваться для сравнения текстов, программных кодов и небольших табличных фрагментов;
  3. сервис Quick Diff прекрасно сравнивает тексты (не на русском языке), программные коды и может использоваться для сравнения небольших табличных фрагментов.

Материал подготовлен Шутилиной Л.А., методистом ГМЦ ДОгМ

АйТи бубен

Инструменты пользователя

Инструменты сайта

  • Управление медиафайлами

Боковая панель

Содержание

Как сравнить файлы по содержимому в Windows или Linux?

Веб-мастерам или владельцам сайтов часто бывает необходимо сравнить два файла по содержимому. Из этой статьи вы узнаете как сравнить два файла между собой. Здесь описаны все известные мне способы для сравнения текстовых файлов и скрипты (html, css, php и так далее).

Способ 1. Meld

Meld — графический инструмент для получения различий и слияния двух файлов, двух каталогов. Meld — визуальный инструмент сравнения и объединения файлов и каталогов для Linux. Meld ориентирован, в первую очередь, для разработчиков. Однако он может оказаться полезным любому пользователю, нуждающемуся в хорошем инструменте для сравнения файлов и директорий.

В Meld вы можете сравнивать два или три файла, либо два или три каталога. Вы можете просматривать рабочую копию из популярных систем контроля версий, таких, таких как CVS, Subversion, Bazaar-NG и Mercurial. Meld представлен для большинства linux дистрибутивов (Ubuntu, Suse, Fedora и др.), и присутствует в их основных репозиториях.

Способ 2. Сравнение содержимого двух файлов в программе WinMerge.

Бесплатная программа WinMerge позволяет сравнивать не только содержимое файлов, она также сравнивает содержимое целых папок. WinMerge является Open Source инструментом сравнения и слияния для Windows. WinMerge может сравнивать как файлы, так и папки, отображая различия в визуальной текстовой форме, которые легко понять и обработать.

После установки, открываете пункт меню «Файл» — «Открыть». Выбираете файлы для сравнения. Для этого нажимаете на кнопку «Обзор» и выбираете файл. Выбрав файлы, нажимаете на кнопку «ОК».

В WinMerge можно также редактировать файлы. После закрытия окна сравнения, программа предложит сохранить изменения в файлах.

Способ 3. diff

diff — утилита сравнения файлов, выводящая разницу между двумя файлами.

Способ 4. Kompare

Kompare — отображает различия между файлами. Умеет сравнивать содержимое файлов или каталогов, а также создавать, показывать и применять файлы патчей. Kompare — это графическая утилита для работы с diff, которая позволяет находить отличия в файлах, а также объединять их. Написана на Qt и рассчитана в первую очередь на KDE. Вот ее основные особенности:

Способ 5. Сравнение файлов в программе Total Commander

В Total Commander существует инструмент сравнения файлов по содержимому, где можно не только сравнить содержимое, но и редактировать его и копировать из одного файла в другой.

После запуска Total Commander – в одной из панелей выбираете (клавиша Insert) первый файл для сравнения – во второй панели открываете папку со вторым файлом и ставим на него курсор. Вызываем программу для сравнения: «Файлы→Сравнить по содержимому».

Для внесения изменений в файл достаточно нажать на кнопку «Редактировать». В программе доступны функции копирования и отката, поиска и изменение кодировки. Если вы внесли изменения в файл, то после закрытия окна сравнения, будет предложено сохранить изменения.

Способ 6. Сравнение файлов в Notepad++

Notepad++ не умеет сравнивать файлы. Для появления этого функционала в Notepad++ нужно установить плагин «Compare».

Запускаете редактор – переходите в пункт меню «Плагины» — «Plugin Manager» — «Show Plugin Manager». В новом окне выбираете плагин «Compare» и жмёте кнопку «Install».

После установки плагина откройте два файла и выбирите меню «Плагины» — «Compare» — «Compare (Alt+D)». Результат сравнения файлов будет представлен в отдельных панелях. Напротив строк, в которых найдены отличия будет стоять предупреждающий знак.

Способ 7. Сравнение файлов с помощью командной строки Windows

Сравнение с помощью командной строки Windows (cmd.exe) не позволяет редактировать файлы, но просто сравнить содержимое файлов, используя этот способ, вы можете.

Для вызова командной строки Windows перейдите «Пуск» — «Все программы» — «Стандартные» — «Командная строка» или нажмите клавиш «Windows+R», введите cmd и нажмите клавишу Enter.

Путеводитель по программам для сравнения данных

Синхронизация данных требует от программистов, системных администраторов и времени, и соответствующих навыков. Однако не менее важен правильно подобранный инструментарий. Контроль версий, работа с проектами, резервное копирование, слияние и визуальное сравнение файлов — далеко не полный список задач, так или иначе связанных с синхронизацией.

В путеводитель вошли 10 программ, которые можно назвать во многом универсальными: они не привязаны к определенному сервису или приложению, позволяют выполнять вышеназванные (и менее специализированные) задачи не только через графический интерфейс, но и в режиме командной строки.

Критерии сравнения выглядят следующим образом:

  • Интерфейс: поддержка режимов отображения, сохранение сессий, возможности настройки панели инструментов, колонок
  • Функциональность текстового редактора, работа с исходным кодом
  • Методы слияния и синхронизации, возможность трехстороннего сравнения
  • Экспорт отчетов, создание патчей (diff)
  • Дополнительные функции: интеграция со сторонними приложениями, поддержка расширений, протоколов и др.

SmartSynchronize

SmartSynchronize — кроссплатформенная программа для сравнения данных, структуры директорий и их содержимого. Фактически, программа бесплатна для некоммерческого использования, тем не менее, однопользовательская лицензия стоит 39 USD.

Режимы сравнения представлены в приветственном окне программы. Помимо диалога выбора файлов, здесь возможен просмотр истории и выбор сохраненного профиля. Также в настройках (Preferences) настраиваются фильтры: файловые — для отсеивания файлов по названию и расширению, и фильтры директорий — позволяют составить список исключений.

Для сравнения файлов используется двухпанельный режим side-by-side с синхронной прокруткой содержимого обеих панелей. Условных обозначений в SmartSynchronize немного, но, благодаря соединительным линиям (linking lines), операции сравнения и слияния очень интуитивны. SmartSynchronize указывает, куда и в каком направлении будет добавлен участок из одного файла в другой. Вставка текста производится одним кликом, позволяя обойтись без контекстного меню.

Кодировку и синтаксис документа можно определить вручную, предусмотрена подсветка синтаксиса для многих языков программирования и разметки, нумерация строк и другие редакторские функции, присущие интегрированным средам разработки IDE.

В целом, SmartSynchronize гибко настраивается, но все настройки распределены по разным разделам меню, что требует некоторого привыкания. Не хватает режимов отображения, настроек панели инструментов.

В режиме сравнения директорий выводится список файлов и статус для каждого из них, в нижней части окна доступен предосмотр. Метод сравнения — по содержимому или только по размеру и времени — определяется в настройках Edit → Preferences. Количество информационных колонок (тип файла, дата) нельзя увеличить, хотя отключить имеющиеся можно.

В SmartSynchronize реализовано как одностороннее объединение данных с левой или правой сторонами, так и обычная синхронизация. Конфигурацию можно сохранить для последующей загрузки, сделав снимок файловой структуры. Как поясняют разработчики, программа не распознает атрибуты файлов, поэтому использовать ее в качестве утилиты для резервирования нет смысла. Работа с архивами также не предусмотрена, равно как и с удаленными каталогами.

Помимо вышеупомянутых, имеется дополнительный, трехсторонний метод слияния — 3-Way-Merge, который позволяет объединить различия между несколькими версиями файлов, причем каждый из трех документов можно редактировать независимо друг от друга.

Функции сравнения, несомненно, востребованы программистами при контроле версий. Поэтому в заключение стоит сослаться на альтернативное решение этой же компании — SmartCVS. Программа представляет собой CVS-клиент с интегрированным инструментарием SmartSynchronize.

Резюме. SmartSynchronize предлагает неплохой инструментарий для работы с файлами и директориями, местами не поддающийся настройке и не выходящий за рамки базовых возможностей.

[+] Трехстороннее слияние
[+] Удобный текстовый редактор
[−] Отсутствие документации
[−] Невозможность синхронизации удаленных каталогов и архивов

WinMerge

WinMerge — программа для сравнения и объединения файлов и каталогов в ОС Windows. Ее можно использовать как отдельный инструмент либо в связке с проектами. В WinMerge встроен текстовый редактор с поддержкой языков программирования, подсветкой и нумерацией строк.

Имеется два режима работы с данными, объединенных в диалог выбора файлов и папок. При сравнении доступны фильтры двух типов: фильтры файлов и строковые. Это позволяет использовать различные надстройки и оперировать регулярными выражениями, отсеивая необходимые типы данных при сравнении.

В режиме сравнения файлов в окне отображаются оба файла, в левой и правой части. Для удобной навигации по содержимому предусмотрена карта («Местоположения»). Строки, которые имеют различия, отмечены цветом, также с ними можно ознакомиться в панели «Отличия». Основные операции слияния доступны в разделе «Объединение».

Отдельного внимания заслуживает функциональность текстового редактора. Внешний вид поддается модификации. Помимо подсветки синтаксиса и нумерации строк, предусмотрена работа со скриптами, а расширение функциональности возможно за счет дополнений. Дополнения относятся к распаковщику, представлению и редактору скриптов.

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

WinMerge позволяет выполнять одни и те же задачи разными способами — в том числе, с помощью перетаскивания или через контекстное меню Проводника. Можно создавать проекты для быстрого доступа к данным и настройкам. WinMerge работает в режиме командной строки, также программу можно использовать в связке с системами контроля версий (TortoiseSVN, Visual Studio, Rational ClearCase и т. п.).

Резюме. WinMerge — программа, в первую очередь, с уклоном на работу с проектами. Интеграция с SVN, функциональный редактор, фильтры и расширения — все это отлично дополняет базовые возможности при сравнении данных.

[+] Поддержка расширений
[+] Функциональный редактор
[+] Интеграция со сторонними приложениями
[−] Нет трехстороннего сравнения

Meld — кроссплатформенная программа (OS X, Linux, Windows) для синхронизации файлов и директорий. С ее помощью осуществляется как двух-, так и трехстороннее сравнение. Прежде всего, инструментарий Meld будет полезен разработчикам, так как возможна интеграция с системами управления версиями: Git, Bazaar, Mercurial, Subversion и прочими.

Несмотря на поддержку нескольких платформ, приложение далеко не стабильно функционирует в Windows. Скажем, вкладки и окна не всегда открываются и закрываются корректно. Возможно, проблемы связаны с библиотекой PyGTK, входящей в инсталлятор. Запустить программу получилось не сразу и только от имени администратора. Ошибки возникают постоянно, в подтверждение — перечень текущих проблем.

В процессе сравнения файлов можно задействовать текстовый фильтр или поиск (поддерживается синтаксис regex). Предусмотрены подсветка синтаксиса (используется библиотека gtksourceview), нумерация строк, учет пробелов и другие опции, которые нужно активировать через настройки, так как по умолчанию они отключены. Вставки, изменения и конфликты в документе подсвечиваются, возможна быстрая навигация по списку изменений и экспорт в формате diff. Связь между файлами легко отследить с помощью соединительных линий и одним кликом произвести слияние нужных участков.

Сканирование файлов директорий работает очень медленно. Это связано с тем, что сравнение осуществляется по содержимому, а не по размеру и временно́й отметке. Проблема решается установкой флажка напротив соответствующей опции в настройках. Набор доступных колонок весьма ограничен: размер, дата модификации и разрешения. Хотя и можно воспользоваться файловым фильтром, просмотр длинного списка файлов все равно превращается в рутинный процесс: нельзя мгновенно остановить сканирование, свернуть дерево файлов, быстро переместиться к нужным элементам.

Разработчикам будет интересен третий режим работы приложения — Version Control View. Meld поддерживает интерфейс командной строки, поэтому предусмотрена интеграция со средами Git, Bazaar, Mercurial, Subversion и многим другими.

Резюме. Программа Meld зарекомендовала себя с хорошей стороны в среде Linux, чего нельзя сказать о функционировании в Windows. Нестабильная работа и неудобный интерфейс, отсутствие сессий, недостаточная гибкость настройки. С другой стороны, инструментарий программы неплох, а качественная адаптация Meld для Windows, возможно, лишь вопрос времени.

[+] Трехстороннее сравнение
[+] Поддержка систем контроля версий
[−] Медленная и нестабильная работа в Windows
[−] Неудобный и неинформативный интерфейс

Diffuse

Diffuse —кроссплатформенный продукт для ОС Windows, OS X, Linux и BSD, по интерфейсу напоминающий Meld (в основе — библиотека PyGTK), но имеющий функциональные отличия. Заявлена интеграция с Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, Subversion и другими средами.

Продолжая сравнение с Meld: Diffuse характеризуется стабильностью, здесь нет внезапных зависаний. Доступна подробная документация, интерфейс переведен на русский язык. Однако сравнение директорий не входит в инструментарий, в программу заложены только функции сравнения файлов и их редактирования. В Diffuse можно обнаружить несколько режимов слияния: — двух-, трех- и многостороннее. Таким образом, источников сравнения может быть сколько угодно, вопрос лишь в быстродействии и удобстве. Касательно второго аспекта можно лишь сказать, что сессий здесь нет — соответственно, работа с большими проектами в Diffuse под вопросом.

Различия отмечаются цветом, сводка (Comparison Summary) доступна возле полосы прокрутки, для навигации по списку изменений предназначены кнопки на панели управления. Нумерация строк и подсветка синтаксиса с возможностью ручного переключения включены по умолчанию. В отличие от других подобных редакторов, в Diffuse нельзя сразу выделить произвольный участок текста, для этого необходимо дважды кликнуть по содержимому. В ином случае можно выделять текст и производить другие действия только построчно.

Очевидно, что в Diffuse перелинковки различий между файлами нет, поэтому слияние строк осуществляется менее интуитивным методом. Все доступные команды собраны в разделе «Слияние», куда нужно обращаться каждый раз за неимением команд в контекстном меню. В SmartSynchronize или других упомянутых решениях многие операции производятся в один клик.

Работа с системами управления версиями возможна посредством командной строки, перечень команд с описанием изложен в справке.

Резюме. Функциональность такого рода востребована при слиянии нескольких текстовых документов. Программа лишена недостатков, присущих ближайшему аналогу Diffuse — Meld. Но, к сожалению, сравнение директорий и отчетность остались за бортом.

[+] Удобная работа со строками
[+] Интеграция с CVS
[+] Многооконное слияние
[−] Отсутствие сессий
[−] Маркировка изменений не интуитивна

Perforce P4 Merge

P4Merge нечасто упоминается среди других бесплатных продуктов (например, по сравнению с WinMerge). К тому же отыскать эту программу среди других компонентов комплекса Perforce непросто. Perforce — это коммерческая кроссплатформенная система управления версиями, обладающая широкой сферой применения, не в последнюю очередь за счет плагинов и интеграции с различными продуктами (IntelliJ IDEA, Autodesk 3D Studio Max, Maya, Adobe Photoshop, Microsoft Office, Eclipse, emacs и др.). Впрочем, P4 Merge может работать автономно от сервера Perforce, достаточно скачать программу с сайта разработчика для ее бесплатного использования.

Основные операции — это сравнение файлов (Diff) и слияние (Merge). Редактор документов предельно прост: есть нумерация, но нет подсветки синтаксиса. Редактировать файлы в двух панелях «на лету» нельзя, нужно выбрать одну из панелей, включить режим редактирования и затем сохранить изменения. Различия маркируются, для перехода между ними предназначены кнопки навигации. Ориентироваться по изменениям проще всего с помощью соединительных линий. В целом, интерфейс P4 Merge недостаточно удобен: в нем нет сводки по различиям, статистика по изменениям представлена суммарной цифрой, без детализации, для просмотра изменений нужно использовать ручное обновление.

Перечисляя другие особенности программы, стоит упомянуть сравнение изображений. В данном режиме обнаружились две полезные функции: подсветка различий и слияние двух файлов в один. При этом непонятно, почему меню редактора содержит невостребованные команды, такие как смена кодировки, методы сравнения и прочие, которые относятся к сравнению текстовых файлов, но никак не изображений.

Резюме. Конечно, в P4 Merge множество функциональных ограничений, особенно если сравнивать с платными продуктами. Приложение можно рассматривать сугубо как дополнение к серверу Perforce. Возможно, в поисках нужного инструментария следует обратить внимание и на другие компоненты, доступные на сайте разработчика.

[+] Диаграмма слияния в режиме Merge
[−] Слабая функциональность
[−] Невозможность редактирования на лету
[−] Отсутствие команд слияния

Обзор инструментов для визуального сравнения и разрешения конфликтов слияния

На хабре уже было много статей о распределенных системах управления версиями (DVCS), их сравнений, а также сравнений GUI-клиентов для них. Также были обсуждения плагинов к IDE для работы с git и mercurial. Но практически не было информации об инструментах визуального сравнения и разрешения конфликтов слияния.


Недавно я «перескочил» с mercurial (который до сих пор считаю более удобным и логичным) на git, потому что, подавляющее большинство проектов, которые мне интересны, используют git и хостятся на github. В связи с этим, встал вопрос о пересмотре арсенала инструментов, в частности вопрос выбора инструмента визуального сравнения и слияния (diff and merge). Дабы восполнить недостаток информации на хабре, я решил написать этот мини-обзор. Как говориться — по горячим следам.

Под катом Вы также найдете примеры настроек Git для использования с DiffMerge и WinMerge под Windows. Думаю многим сэкономит время.

KDiff3

[скриншот]

DiffMerge

[скриншот]

WinMerge

[скриншот]

[скриншот]

Diffuse

[скриншот]

TKDiff

[скриншот]

SmartSynchronize

[скриншот]

BeyondCompare

[скриншот]

Araxis Merge

[скриншот]

Название Особенности Платформа
С этим инструментом скорее всего сталкивались как пользователи git, так и пользователи системы mercurial, тем не менее пару строк не помешает.

Плюсы:

  • бесплатен;
  • поддерживает трехстороннее слияние;
  • умеет сравнивать директории;
  • с различными кодировками работает нормально;

Минусы:

  • без дополнений не подсвечивает синтаксис.

Примечание: устанавливается вместе с TortoiseHg.

Windows, Mac OS X, Linux
Плюсы:

  • бесплатен;
  • поддерживает трехстороннее слияние;
  • умеет сравнивать директории.

Минусы:

  • бывают проблемы при работе с кириллицей. Думаю, со временем, исправят.
  • DiffMerge по умолчанию, не поддерживает подсветку синтаксиса языков программирования.
Windows, Mac OS X, Linux
Плюсы:

  • Open Source;
  • никаких проблем с кодировками;
  • подсветка синтаксиса без лишних телодвижений;
  • сравнение директорий.

Минусы:

  • инструмент слияния является двусторонним, что может создавать неудобства в некоторых случаях;
  • Windows only.

Примечание: этим инструментом я начал пользоваться очень давно (еще до того, как стал использовать mercurial и git) и тот факт, что инструмент слияния является двусторонним в большинстве случаев не доставляет особых неудобств.

Windows
Плюсы:

  • GPL v2;
  • двустороннее и трехстороннее слияние файлов;
  • сравнение директорий;
  • подсветка синтаксиса (при установленном GtkSourceView).

Минусы:

  • для установки под Windows требуется установить Python, GTK+, Glib, GtkSourceView, что не каждому понравиться.

Windows, Mac OS X, Linux
Инструкция по установке под Windows:
https://live.gnome.org/Meld/Windows
Плюсы:

  • GPL;
  • поддержка 2-way, 3-way и n-way (произвольное количество файлов) слияния;
  • подсветка синтаксиса;
  • отлично работает с UTF-8;
  • неограниченная глубина отмен (Undo);
  • удобная навигация по коду.

Минусы:

  • разве что, невозможность сравнивать директории.

Примечаие: при слиянии с помощью команды git mergetool через Git Bash под Windows открывается четвертое — «лишнее» окно.
Убрать можно, подправив конфиг c:/Git/libexec/git-core/mergetools/diffuse

Windows, Mac OS X, Linux
Примечание: при установке под Windows уже включает в себя все зависимости (в отличие от Meld), а именно Python и пакет PyGTK.
Плюсы:

  • GPLv2;
  • можно добавлять закладки для различий;
  • с кодировками работает нормально;

Минусы:

  • интерфейс менее удобен и выглядит очень бедно (см. скриншот), чем у других продуктов.
  • нет подсветки синтаксиса;
  • не умеет сравнивать директории.

Windows, Mac OS X, Linux
Плюсы:

  • трехстороннее слияние;
  • нет проблем с кодировками;
  • помимо файлов, может сравнивать директории.

Минусы:

  • для коммерческого использования требуется лицензия;
  • подсветка синтаксиса для языков программирования по умолчанию не предусмотрена. Не исключено, что можно как-то сделать.

Примечание: SmartySynctonize встроен в программу SmartGit — удобный GUI-инструмент для работы с Git (тоже бесплатен для некоммерческого использования).

Windows, Mac OS X, Linux
Плюсы:

  • трехстороннее слияние;
  • может сравнивать файлы, директории, удаленные директории, архивы, а также MP3-файлы, изображения и др. Но последние пункты — это в принципе не нужный функционал.

Минусы:

  • ShareWare;
  • нет версии под Mac.

Windows, Linux
Плюсы:

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

Минусы:

  • ShareWare;
  • нет версии под Linux.

Примечание: в комментариях многие расхваливают и советуют этот инструмент, несмотря на высокую стоимость.

Windows, Mac OS X

В принципе, все перечисленные инструменты хорошо справляются со своими задачами и данный обзор не тема для спора, т.к. каждый выбирает инструмент по вкусу.
Далее приводятся примеры настроек Git для работы с DiffMerge и WinMerge. По аналогии можно настроить взаимодействие Git с другими инструментами.

Git и DiffMerge

1) Добавим в директорию c:/Git/libexec/git-core/mergetools/
файл diffmerge следующего содержания:

2) Теперь добавим в файл c:/Users/swipe/.gitconfig
следующие строки:

3) Создадим конфликт и вызовем DiffMerge для его разрешения

Выводится сообщение о конфликте слияния, чего мы и добивались.

В среднем окне, приведем файл к требуемому состоянию и сохраним изменения.
Конфликт разрешен.
Настройку DiffMegre подсмотрел тут:
http://twobitlabs.com/2011/08/install-diffmerge-git-mac-os-x/

Git и WinMerge

1) Добавим в директорию c:/Git/libexec/git-core/mergetools/
файл winmerge следующего содержания:

Когда Git не может автоматически объединить изменения, происходит конфликт слияния и в конфликтующий файл добавляются маркеры слияния ( >>>>>>). Они необходимы для разрешения конфликта с помощью сторонних инструментов.
Рассмотрим файл readme.txt который образуется в результате выполнения слияния веток master и new в приведенном выше примере:

Мы можем открыть файл конфликтов с помощью программы WinMerge для разрешения конфликта.

После этого откроется средство двухстороннего слияния:

Исходя из описанной логики перепишем команду слияния merge_cmd следующим образом:

По сути, оба приведенных варианта эквивалентны.

2) Отредактируем .gitconfig

последняя строчка отменяет сохранение backup-файлов в директории репозитория.

3) Создадим конфликт при слиянии двух веток (см. пример с использованием DiffMerge).

Для разрешения конфликта при слиянии веток, воспользуемся командой

Как сравнить два файла?

Как сравнить два файла?

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

Не далее, как вчера, возникла необходимость увидеть разницу в двух файлах ява-скриптов. Решил я слегка подправить код, сделать его покомпактнее, вот и наудалял всё то, что, на мой взгляд, было лишним. Всё хорошо, всё работало. Естественно, все изменения проводились не в оригинальном файле, а в его копии. Оригинал сохранялся в девственном виде в надежном месте.

У тут, я обнаружил, что в общем желании оптимизировать скорость работы сайта, убрал нужную задержку при открытии элемента. То он плавненько выезжал после клика, а тут, вылетает, как подорванный. Вроде мелочь, но, на мой взгляд, такие косячки оставлять не желательно. Остается сущий пустяк, найти то место, где эта задержка указана, и провести нужные изменения.

Формулируется задача легко, а вот для реализации, надо просмотреть несколько тысяч строк кода, и исправить все места, где эта задержка указана. Не самое приятное занятие, хотелось бы это дело, как-то оптимизировать.

Есть у нас прекрасная программа для работы с файлами. Называется она Notepad++. Я уже писал про неё, кто не в курсе, рекомендую ознакомиться: Удобный редактор Notepad++. Вот в ней то и есть удобная возможность быстро сравнить два файла.

Сравнение двух файлов в программе Notepad++

Сразу хочу сказать, что в программе Notepad++ можно сравнивать многие файлы, и html, и php, и js. А вот вордовские файлы корректно сравнить не получается, не подходит их кодировка для этой программы. Сравнивать эти файлы будет в самом Ворде, это мы рассмотрим ниже.

    • Открываем те файлы, которые хотим сравнить.
    • Для начала сравнения, нам надо запустить плагин Compare. Для этого идем во вкладочку ПлагиныCompareCompare.

Сравнение файлов в Notepad

    • Если этот плагин в вашей версии Notepad++ ещё не установлен, сделать это легко. Идем в ПлагиныPlugin ManagerShow Plugin Manager. Там из общего списка плагинов выбираем Compare, ставим галочку напротив и жмём кнопочку Install.
    • Наши файлы открываются в двух вкладках, в которых удобно и понятно подсвечены все различия в наших файлах. Дальше уже дело техники, большого труда найти нужные места не составит.

Различия в содержимом файлов в Notepad

  • Для выхода из режима сравнения надо нажать либо горячие клавиши Ctrl + Alt + D, либо вкладку ПлагиныCompareClear Results.

Но, не будем останавливаться только на одной программе. Есть у нас ещё, всем известный Total Commander, в нём тоже можно сравнить два файла быстрым и удобным способом.

Сравнение двух файлов в программе Total Commander

    • Открываем программу Total Commander
    • Кликаем на нужный файл и с зажатой кнопкой Ctrl кликаем по второму файлу для сравнения. Оба файла выделяются на общем фоне.
    • Далее идём по пунктам ФайлСравнить по содержимому

Сравнение файлов в Total Commander

    • Открывается новое окошко, в котором мы видим содержания наших файлов и различия между ними. Они, опять же, удобно и понятно подсвечены.

Различия в файлах в Total Commander

  • Нажимаем кнопочку Редактировать и вносим необходимые изменения в файлы. Для удобства работы можно изменить шрифт и воспользоваться кнопками Следующее различие, Предыдущее различие, Откат, Кодировка.
  • После всех изменений жмём на кнопочку закрытия и нам будет предложено сохранить сделанные правки.

Для лучшего освоения информации можно посмотреть небольшое видео о том, как сравнивать два файла в программе Total Commander:

Вот и все, опять же, удобно, быстро, понятно.

Ну и в заключении, надо рассмотреть то, как можно сравнивать Вордовские файлы. Там своя кодировка, поэтому, лучше всего, для этого подойдёт программа Word.

Сравнение двух файлов в программе Microsoft Word

    • Открываем программу Microsoft Word
    • Находим вкладочку Рецензирование, выбираем её, ищем пункт Сравнить.

Сравнение файлов в Microsoft Word

    • Открывается новое окно Сравнение версий, где и надо выбрать Исходный документ и Документ для сравнения. Жмём ОК. Можно, при желании посмотреть дополнительные настройки сравнения.

Загрузка файлов для сравнения в Microsoft Word

  • Открывается новый файл, в котором выделены различия и которые, при желании можно сохранить, или исправить на нужные.

Вот такие способы сравнения двух файлов у нас есть. Дополнительные программы не понадобились, всё уже встроено в привычных инструментах. С помощью того же Notepad++ мне удалось за несколько минут найти нужные места для исправлений. Красота.

✔ Этот сайт работает на быстром, надёжном, не дорогом хостинге GIGAHOST

Adblock
detector