Какой лучший инструмент для просмотра и редактирования слияния в Git? Я хотел бы получить трехстороннее представление слияния с «моим», «их» и «предком» на отдельных панелях и четвертой «выходной» панелью.
Также были бы полезны инструкции для вызова указанного инструмента. (Я до сих пор не понял, как запустить kdiff3 таким образом, чтобы он не выдавал ошибку.)
Моя ОС - Ubuntu.
git
version-control
merge
Энди
источник
источник
Ответы:
Meld - это бесплатный инструмент для сравнения / слияния с открытым исходным кодом и кроссплатформенный (UNIX / Linux, OSX, Windows).
Вот как это установить:
источник
meld
утомительно со сложными различиями, возможность выбирать такие параметрыchose b for all unresolved conflicts
намного лучше, чем необходимость вручную нажимать на нужную стрелку для каждого элементаmeld
. Кроме того, возможность объединяться в конкретный выходной файл, а не редактировать входные файлы на месте, неоценима для отказа от неудачных нервов.Вы можете настроить свой собственный инструмент слияния для использования с "
git mergetool
".Пример:
И пока вы на нем, вы также можете установить его как ваш difftool для "
git difftool
":Обратите внимание, что в Unix / Linux вы не хотите,
$BASE
чтобы ваша оболочка анализировала переменную как переменную - она должна отображаться в вашем файле ~ / .gitconfig, чтобы это работало.источник
Beyond Compare 3 , мой любимый, имеет функцию слияния в версии Pro . Хорошая вещь с его слиянием состоит в том, что он позволяет вам видеть все 4 вида: базовый, левый, правый и объединенный результат. Это несколько менее наглядно, чем P4V, но гораздо больше, чем WinDiff. Он интегрируется со многими системами контроля версий и работает в Windows / Linux. Он имеет много функций, таких как расширенные правила, издания, ручное выравнивание ...
Perforce Visual Client ( P4V ) - это бесплатный инструмент, который предоставляет один из наиболее явных интерфейсов для слияния (см. Некоторые скриншоты ). Работает на всех основных платформах. Мое главное разочарование этим инструментом - это своего рода интерфейс «только для чтения» . Вы не можете редактировать файлы вручную и вы не можете выровнять вручную.
PS: P4Merge включен в P4V. Perforce пытается усложнить получение своего инструмента без клиента.
SourceGear Diff / Merge может быть моим вторым бесплатным выбором инструмента. Проверьте этот снимок экрана слияния,и вы увидите, что он имеет как минимум 3 вида.
Meld - это более новый бесплатный инструмент, который я бы предпочел SourceGear Diff / Merge : теперь он также работает на большинстве платформ (Windows / Linux / Mac) с явным преимуществом встроенной поддержки некоторых систем контроля версий, таких как Git . Таким образом, вы можете иметь некоторые различия в истории всех файлов гораздо проще. Представление слияния (см. Скриншот ) имеет только 3 панели, как и SourceGear Diff / Merge . Это усложняет слияние в сложных случаях.
PS: если один инструмент в один прекрасный день поддерживает объединение 5 представлений , это было бы действительно здорово, потому что если вы делаете коммит вишни в Git, у вас действительно будет не одна база, а две. Две базы, две смены и одна результирующая слияние.
источник
Я слышал хорошие вещи о kdiff3.
источник
kdiff3
имеет гораздо больше возможностей, ноmeld
имеет лучший интерфейс. На мой взгляд,meld
это лучше для легких объединений, где достаточно функций, предоставляемыхmeld
. Не забудьте попробоватьdiffuse
тоже.Мой любимый инструмент визуального слияния - SourceGear DiffMerge
источник
vimdiff
Как только вы изучите vim (и, по-моему, вам следует), vimdiff - это еще одна красивая маленькая ортогональная концепция для изучения. Чтобы получить онлайн-справку в vim:
Этот вопрос описывает, как его использовать: как мне использовать vimdiff для разрешения конфликта?
Если вы застряли в темных веках использования мыши, а файлы, которые вы объединяете, не очень большие, я рекомендую объединить.
источник
Вы можете попробовать P4Merge .
Особенности включают в себя:
источник
IntelliJ IDEA имеет изощренный инструмент разрешения конфликтов слияния с волшебной палочкой Resolve, которая значительно упрощает слияние:
источник
Диффузный - мой любимый, но, конечно, я предвзятый. :-) Он очень прост в использовании:
источник
diffuse
выглядит очень мило. Я только что попробовал это сейчас, и это было лучше, чем диффузияkdiff3
. Но я пытаюсь использовать его вместе,git mergetool
и он открывает 4 файла рядом друг с другом (локальный, результат слияния, удаленный, базовый), и мой экран недостаточно широк для этого. Мне пришлось сделать много горизонтальной прокрутки. kdiff3 показывает только 3 рядом друг с другом и результат в нижней половине окна.Araxis Merge http://www.araxis.com/merge Я использую его на Mac OS X, но я использовал его на Windows ... это не бесплатно ... но у него есть некоторые приятные функции ... приятнее на окна хотя.
источник
Вы можете изменить инструмент, используемый git mergetool, передав
git mergetool -t=<tool>
или--tool=<tool>
. Чтобы изменить значение по умолчанию (из vimdiff), используйтеgit config merge.tool <tool>
.источник
Если вы просто ищете инструмент сравнения вне всяких сравнений, это очень приятно: http://www.scootersoftware.com/moreinfo.php
источник
Итак, для git merge вы можете попробовать:
DiffMerge для визуального сравнения и объединения файлов в Windows, OS X и Linux.
Meld , инструмент визуального сравнения и слияния.
opendiff
(часть Xcode Tools на macOS), утилита командной строки, которая запускает приложение FileMerge из терминала для графического сравнения файлов или каталогов, включая слияние .источник
git config --global merge.tool opendiff
работал лучше всего для меняЯ перепробовал много инструментов, упомянутых здесь, и ни один из них не был тем, что я искал.
Лично я нашел Atom отличным инструментом для визуализации различий и разрешения конфликтов / слияния.
Что касается слияния, то здесь нет трех видов, но все они объединены в одно с цветной подсветкой для каждой версии. Вы можете редактировать код напрямую или использовать кнопки для использования любой версии этого фрагмента.
Я даже больше не использую его как редактор или IDE, просто для работы с git. Чистый пользовательский интерфейс и очень простой, плюс он очень настраиваемый.
Вы можете запустить его из командной строки и передать в один файл, который вы хотите открыть, или добавить папку вашего проекта (git repo).
Единственная проблема, с которой я столкнулся, это обновление - при работе с большими репозиториями атом может медленно обновлять изменения, которые вы делаете вне его. Я просто всегда закрываю его, когда заканчиваю, а затем снова открываю, когда хочу снова просмотреть свои изменения / коммит. Вы также можете перезагрузить окно с помощью Ctrl + Shift + F5, который занимает всего секунду.
И это бесплатно, конечно.
источник
Я использую различные инструменты для слияния и сравнения:
Кулак может быть вызван:
Второй называется при использовании
git mergetool
.источник
Вы можете установить утилиту сравнения / слияния ECMerge на Linux, Mac или Windows. Он предварительно настроен в Git, так что только использование
git mergetool
сделает работу.источник
Если вы используете Visual Studio , встроенный инструмент Team Explorer - очень хороший инструмент для разрешения конфликтов git-merge.
источник
gitx http://gitx.frim.nl/
Некоторые ошибки при работе с большими наборами коммитов, но отлично подходят для просмотра изменений и выбора различных изменений для stage, а затем для фиксации.
источник