Какой лучший инструмент визуального слияния для Git?



какой самый лучший инструмент для просмотра и редактирования слияния в Git? Я хотел бы получить 3-полосный вид слияния, с "моим", "их" и "предком" в отдельных панелях и четвертой панелью "выход".



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



моя ОС Ubuntu.

1041   18  

18 ответов:

Meld - это инструмент diff/merge.

вот как его установить:

  • Ubuntu
  • Mac
  • Windows: "рекомендуемая версия Meld для Windows-это самая последняя версия, доступная в виде MSI от http://meldmerge.org"

вы можете настроить свой собственный инструмент слияния, чтобы использоваться с "git mergetool".

пример:

  git config --global merge.tool p4merge
  git config --global mergetool.p4merge.cmd p4merge '$BASE $LOCAL $REMOTE $MERGED'
  git config --global mergetool.p4merge.trustExitCode false

и пока вы на нем, вы также можете настроить его в качестве вашего difftool для "git difftool":

  git config --global diff.tool p4merge
  git config --global difftool.p4merge.cmd p4merge '$LOCAL $REMOTE'

обратите внимание, что в Unix/Linux вы не хотите, чтобы $BASE чтобы получить разбор в качестве переменной вашей оболочки-он должен фактически появиться в вашем~/.файл gitconfig хранит настройки для этого, чтобы работать.

Вне Сравнения 3, мой любимый, имеет слияние функции Pro edition. Хорошая вещь с его слиянием заключается в том, что он позволяет вам видеть все 4 вида: базовый, левый, правый и объединенный результат. Это несколько менее визуально, чем P4V но больше, чем средство windiff. Это интегрируется со многими системами управления версиями и работает на Windows и Linux. Он имеет много функций, таких как расширенные правила, издания, руководство выравнивание...

Визуальный Клиент Perforce (P4V) - это бесплатный инструмент, который предоставляет один из самых явных интерфейсов для слияния (см. скриншоты). Работает на всех основных платформах. Мое главное разочарование в этом инструменте-это его вид "только для чтения" интерфейс. Вы не можете редактировать файлы вручную,и вы не можете вручную выровнять.

PS: P4Merge входит в P4V. Perforce пытается сделать его a немного трудно получить свой инструмент без своего клиента.

SourceGear Diff / Merge может быть мой второй свободный выбор инструмента. Проверьте, что слияние экранов-выстрел и вы увидите, что это имеет 3 вида по крайней мере.


Meld Это новый бесплатный инструмент, который я бы предпочел SourceGear Diff / Merge: теперь он также работает на большинстве платформ (Windows / Linux / Mac) с явным преимуществом изначально поддержка некоторых систем управления версиями, таких как Git. Таким образом, вы можете иметь некоторые различия в истории для всех файлов намного проще. Представление слияния (см. скриншот) имеет только 3 панели, так же, как SourceGear Diff / Merge. Это делает слияние несколько сложнее в сложных случаях.

PS: Если один инструмент один день поддерживает 5 Просмотров слияния, Это было бы действительно потрясающе, потому что если вы cherry-pick совершаете в Git, у вас действительно есть не одна база, а две. Два основания, два изменения, и в результате слияния.

мой любимый визуальный инструмент слияния SourceGear DiffMerge

  • Это бесплатно.
  • кросс-платформенный (Windows, OS X и Linux).
  • очистить визуальный интерфейс
  • все функции diff, которые вы ожидаете (Diff, Merge, Folder Diff).
  • интерфейс командной строки.
  • использовать сочетания клавиш.

User interface

Я слышу хорошие вещи о kdiff3.

вы можете попробовать P4Merge.

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

функции включают в себя:

  • Выделите и отредактируйте различия в текстовых файлах
  • выберите Включить или игнорировать окончания строк или пробелы
  • признать соглашения относительно окончания строк для Windows (символы не экранируются), Мак (CR), и Unix (LF)
  • используйте параметры командной строки и запускайте из приложений, не зависящих от силы
  • отображение номеров строк при сравнении и объединении файлов
  • исключить файлы, которые были изменены, уникальным, или без изменений
  • фильтровать файлы по имени или расширению
  • организовать измененные активы в знакомой иерархии файлов/папок
  • сравните JPEG, GIF, TIFF, BMP и другие форматы файлов
  • расширение с помощью Qt API
  • наложение изображений или отображение бок о бок
  • выделите различия на наложенных изображениях

vimdiff

Как только вы узнали vim (и IMHO вы должны), vimdiff-это еще одна красивая маленькая ортогональная концепция для изучения. Получить онлайн помощь в Vim:

:help vimdiff

Если вы застряли в темных веках использования мыши, и файлы, которые вы объединяете, не очень большие, я рекомендую meld.

диффузное Это мой любимый, но, конечно, я предвзят. :-) Он очень прост в использовании:

$ diffuse "mine" "output" "theirs"

Diffuse-это небольшой и простой инструмент слияния текста, написанный на Python. С помощью Diffuse можно легко объединять, редактировать и просматривать изменения в коде. Диффузный является свободным программным обеспечением.

Araxis Merge http://www.araxis.com/ Я использую его на Mac OS X, но я использовал его на windows... это не бесплатно... но у него есть некоторые приятные особенности... лучше на окнах, хотя.

Если вы просто ищете инструмент diff beyond compare, это довольно приятно:http://www.scootersoftware.com/moreinfo.php

вы можете изменить инструмент, используемый git mergetool, передав git mergetool -t=<tool> или --tool=<tool>. Чтобы изменить значение по умолчанию (из vimdiff) используйте git config merge.tool <tool>.

IntelliJ IDEA обладает утонченным инструмент разрешения конфликтов слияния С помощью волшебной палочки Resolve, которая значительно упрощает слияние:

Source: https://blog.jetbrains.com/dotnet/2017/03/13/rider-eap-update-version-control-database-editor-improvements/

вы можете установить ECMerge diff / merge tool на Linux, Mac или Windows. Он предварительно настроен в Git, поэтому просто используйте git mergetool будет делать эту работу.

Я пробовал много инструментов, упомянутых здесь, и ни один из них не был тем, что я ищу.

лично я нашел Атом чтобы быть отличным инструментом для визуализации различий и разрешение конфликтов/слияния.

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

Я даже не использую его в качестве редактора или IDE больше, просто для работы с git. Чистый пользовательский интерфейс и очень прямолинейный, плюс он очень настраиваемый.

  • вы можете запустить его из командной строки и передать в единый файл, который вы хотите откройте или добавьте папку проекта (git repo).

    • Я бы также рекомендовал project-manager как очень удобный способ переход между проектами без заполнения дерева вид.
  • единственная проблема, с которой я столкнулся, - это обновление-при работе с большими репозиториями atom может медленно обновлять изменения, которые вы делаете за его пределами. Я просто всегда закрываю его, когда заканчиваю, а затем снова открываю, когда хочу снова просмотреть свои изменения/фиксацию. Вы также можете перезагрузить окно с помощью ctrl+shift+f5, что занимает всего секунду.

и это бесплатно, конечно.

Я использую различные инструменты для объединения и сравнения:

git config --global diff.tool diffuse
git config --global merge.tool kdiff3

кулак можно было бы назвать:

git difftool [BRANCH] -- [FILE or DIR]

второй вызывается при использовании git mergetool.

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

поэтому для слияния git вы можете попробовать:

  • DiffMerge для визуального сравнения и объединения файлов в Windows, OS X и Linux.

    DiffMerge

  • Meld, является визуальным инструментом diff и слияния.

    Meld is a visual diff and merge tool

  • KDiff3, программа diff и merge), которая сравнивает или объединяет 2 или 3 ввода текста файлы/директории.
  • opendiff (часть инструментов Xcode на macOS), утилита командной строки, которая запускает приложение FileMerge из терминала для графического сравнения файлов или каталогов, включая слияние.

gitx http://gitx.frim.nl/

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

Comments

    Ничего не найдено.