Этот ответ отлично подходит для просмотра визуальных различий между двумя файлами, которые включены в git: Как просмотреть вывод 'git diff' с помощью программы визуальных различий?
Тем не менее, я хотел бы видеть визуальный контраст между двумя ветвями. Пока что моя лучшая ставка выглядит так:
git diff --name-status master dev
который не очень информативен и не очень визуален.
Есть ли что-нибудь лучше там?
Ответы:
Используйте
git diff
с диапазоном .Это позволит сравнить советы каждой ветви.
Если вам действительно нужно программное обеспечение с графическим интерфейсом, вы можете попробовать что-то вроде SourceTree, которое поддерживает Mac OS X и Windows.
источник
Meld
, а затем установить его по умолчаниюdifftool
сgit config --global diff.tool meld
и , наконец , запустить его вместо равниныdiff
сgit difftool branch1..branch2
. Результат выглядит намного лучше.git difftool -t meld branch1..branch2
Чтобы увидеть визуальные различия всех различий между двумя ветвями, мне нравится объединять эти две ветви - БЕЗ фиксации слияния - и затем использовать
git gui
или git Extensions, чтобы получить обзор различий.Командная строка Git для слияния без коммитов:
Затем, когда вы закончите, вы можете отменить слияние с
(h / t к @ jcugat's для комментария)
источник
git gui
нем показаны конфликты как неустановленные, а не конфликты как постановочные, так что вы получите хорошее различие даже. Помогает мне гораздо больше, чем самый лучший ответ: DЕсли вы используете Intellij Idea IDE, вы можете просто использовать опцию сравнения в ветке.
источник
Вы также можете легко сделать это с помощью gitk.
Сначала нажмите на кончик ветки1. Теперь щелкните правой кнопкой мыши на кончике branch2 и выберите Diff this-> selected.
источник
gitk branch1..branch2
только показывает коммиты между двумя ревизиями.Для тех из вас, кто использует Windows в TortoiseGit, вы можете получить несколько визуальное сравнение с помощью этой довольно неясной функции:
shift
и щелкните правой кнопкой мышиctrl
чтобы выбрать две ветви для сравненияИсточник: http://wikgren.fi/compare-diff-branches-in-tortoise-git-or-how-to-preview-changes-before-doing-a-merge/
источник
Если вы используете OSX или Windows 7+, Atlassian SourceTree работает очень хорошо для этого. Это бесплатно.
Вы можете видеть поэтапные изменения в настройке diff бок о бок и легко сравнивать локальную с удаленной и любые другие две ветви. Когда выбрано несколько файлов, разница отображается следующим образом:
Предполагая, что вы отметили ветвь объекта и хотите увидеть разницу с «master», щелкните правой кнопкой мыши ветку «master» и выберите «Diff против тока».
К сожалению, не похоже, что он будет доступен в дистрибутивах * nix в ближайшее время .
источник
Попробуйте "difftool" (при условии, что у вас есть настройки diff) - см. Https://www.kernel.org/pub/software/scm/git/docs/git-difftool.html.
Я нахожу статус имени хорошим для сводки, но difftool будет повторять изменения (и
-d
опция дает вам представление каталога), напримерИли, как упомянуто @ rsilva4 с
-d
текущей веткой и по умолчанию это просто - например, сравните с master:... и да - есть много вариантов - https://www.kernel.org/pub/software/scm/git/docs/git-reset.html
источник
git difftool -d their-abc my-abc
-d --dir-diff: Copy the modified files to a temporary location and perform a directory diff on them. This mode never prompts before launching the diff tool.
Если вы используете GitHub, вы можете использовать веб-сайт для этого:
github.com/url/to/your/repo/compare/SHA_of_tip_of_one_branch...SHA_of_tip_of_another_branch
Это покажет вам сравнение двух.
источник
github.com/url/to/your/repo/compare/
и потом можно выбирать веткиВ GitExtensions вы можете выбрать обе ветви в сетке ревизий Ctrlнажатием. Затем вы можете увидеть файлы, которые отличаются между этими ветвями. Когда вы выберете файл, вы увидите diff для него.
Взято отсюда
источник
ОБНОВИТЬ
Mac: сейчас я использую SourceTree. Тщательно рекомендуется. Мне особенно нравится, как вы можете ставить / не ставить куски.
Linux: я имел успех с:
meld
Например, чтобы установить
smartgit
на Ubuntu:.deb
с https://www.syntevo.com/smartgit/download/Это делает работу:
git-diffall с инструментом различий в GUI, таким как meld. Смотрите пункт 5 здесь:
http://rubyglazed.com/post/15772234418/git-ify-your-command-line
Здесь есть хороший пост о git и meld: http://nathanhoad.net/how-to-meld-for-git-diffs-in-ubuntu-hardy
источник
Если вы используете Eclipse, вы можете визуально сравнить текущую ветку в рабочей области с другим тегом / веткой:
источник
Вы также можете использовать бесплатный P4Merge от Perforce, чтобы сделать это:
http://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools
Подробности его интеграции с Git можно найти здесь и здесь.
но краткое резюме по ссылкам выше:
$ git mergetool
и$ git difftool
использовать p4merge$ git diff
прежнему будет использоваться встроенное средство просмотра различий по умолчанию :) (протестировано с версией git 1.8.2)Изменения для .gitconfig
источник
Если вы используете отличный редактор WebStorm, вы можете сравнить его с любой веткой:
источник
Посмотри на
git show-branch
Вы можете многое сделать с основной функциональностью git. Возможно, было бы неплохо указать, что вы хотели бы включить в визуальные различия. Большинство ответов сосредоточены на построчном различении коммитов, где ваш пример фокусируется на именах файлов, затронутых в данном коммите.
Один из визуальных элементов, который, похоже, не рассматривается, состоит в том, как увидеть коммиты, содержащиеся в ветвях (общие или уникальные).
Для этого визуала я большой поклонник
git show-branch
; он разбивает хорошо организованную таблицу коммитов на ветку назад к общему предку. - чтобы попробовать его в репо с несколькими ветвями с расхождениями, просто наберитеgit show-branch
и проверьте вывод - для рецензии с примерами см. Сравнение коммитов между ветвями Gitисточник
Вот как можно увидеть визуальную разницу между целыми коммитами, в отличие от отдельных файлов, в Visual Studio (протестировано в VS 2017). К сожалению, он работает только для коммитов в пределах одной ветви: в «Team Explorer» выберите представление «Branches», щелкните правой кнопкой мыши по репо и выберите «View history», как показано на следующем рисунке.
Затем история текущей ветки появляется в основной области. (Там, где ветви, которые закончились как более ранние коммиты на текущей ветке, помечены метками.) Теперь выберите пару коммитов с помощью Ctrl-Left, затем щелкните правой кнопкой мыши и выберите «Сравнить коммиты ...» во всплывающем меню.
Более подробную информацию о сравнении филиалов в мире Microsoft, увидеть этот StackOverflow вопрос: Различия между GIT ветвей с помощью Visual Studio .
источник
Вы также можете использовать vscode для сравнения веток, используя расширение CodeLense, на это уже дан ответ в этой статье: Как сравнивать разные ветви в коде Visual Studio
источник