Що є хорошим (безкоштовним) візуальним інструментом злиття для Git? (на вікнах) [закрито]


154

З таким запитанням вже запитав, але для Ubuntu.

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

Крім того, було б непогано знати про підйоми та падіння інструменту.

Відповіді:


72

У Windows хороший тристоронній інструмент розрізнення / злиття залишається kdiff3 ( WinMerge , на сьогоднішній день, все ще працює на двосторонній основі в очікуванні WinMerge3)

Див. " Як ви об'єднаєтесь у GIT у Windows? " Та цю конфігурацію .


Оновлення через 7 років (серпень 2018): Артур Кеджіор згадує у коментарях :

Якщо ви , хлопці вирішили використовувати Visual Studio (Community Edition безкоштовно), спробуйте інструмент , який поставляється разом з ним: vsDiffMerge.exe. Це дійсно приголомшливий і простий у використанні.


1
Не дивлячись на користь BC, я збираюся перевірити цей інструмент.
Преет Сангха

3
@Preet: BC залишається найкращим;) Але для вільного інструменту (мультиплатформа при цьому) kdiff3 непогано.
VonC

але це напевно теж не так добре :) Я, як правило, простіше використовувати свій звичайний редактор коду.
Warpzit

1
@Warpzit Я згоден, є трохи кривої навчання, але я до цього звик;)
VonC

1
@ ArturKędzior Дякую Я включив ваш коментар у відповідь для більшої наочності.
VonC

72

Я також використовував Meld . Це написано пітоном. Є офіційний інсталятор для Windows, який працює добре.

Встановіть його та встановіть його як mergetool за замовчуванням.

$ git config --global merge.tool "meld"
$ git config --global mergetool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"

Якщо ви користуєтесь клієнтом GUI GIT, спробуйте наступне (інструкції для SourceTree, відповідно відрегулюйте)

  • У SourceTree перейдіть до Інструменти / Параметри / Diff
  • У External Diff Tool, виберіть Спеціальний
  • Введіть C:\Program Files (x86)\Meld\meld.exeу команду Diff Command та $LOCAL $REMOTEв аргументи
  • У Merge Tool, виберіть Спеціальний
  • Введіть C:\Program Files (x86)\Meld\meld.exeу команду Diff Command та $LOCAL $MERGED $REMOTEв аргументи

9
Дякую, Мельд справді приємний :) Дійсно зрозуміло і легко побачити, що відбувається. Дякуємо, що опублікували інструкції з встановлення. Я б без цих втратив.
Даніель Тонон

5
Якщо ви використовуєте cygwin / babun, замініть другий варіант на:git config --global mergetool.meld.path "/cygdrive/c/Program Files (x86)/Meld/Meld.exe"
tempestSA

1
+1 для конфігурації git, я використовував його разом із P4Merge нижче:git config --global merge.tool "p4merge" && git config --global mergetool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
Позначте C

@ Gordolio, Чи існує інтерфейс користувача для простого або "низької роздільної здатності" для meld? Графіка трохи надто красива, що повністю задавлюється величезними файлами.
Pacerier

1
Я спробував Meld, і це було добре, з чудовими візуальними показниками, але врешті-решт пішов на «Більше порівняння», з оплатою праці, і був дуже радий. Один мінус Meld полягає в тому, що кнопки не дають опису миші. Інше - "Більше порівняння" забезпечує кнопки для переходу від однієї різниці до іншої. Інше - "Більше порівняння" показує шляхи до файлів у рядках заголовка вікна. Meld, безумовно, був "досить хорошим", але я вважаю за краще платити за Beyond Compare. (І я не маю приналежності до Beyond Compare).
Стівен Хоскінг

28

Я використовував P4Merge , це безкоштовна та кросова платформа.

P4Merge


1
Це все-таки безкоштовно? Здається, це зовсім не вільно.
null_pointer

4
Так, все ще на 100% безкоштовно, але сторінка їх завантаження трохи приховує.
Даніель Літтл

8
Це безкоштовно, як сказав Даніель, але коли ви запускаєте інсталятор, вам потрібно відключити всі параметри, крім «Інструменту візуального об’єднання». В іншому випадку він запропонує вам підключитися до сервера Perforce. Чудово працює з SourceTree.
Джон

11
Після встановлення налаштуйте як mergetool, використовуючи:git config --global merge.tool "p4merge" && git config --global mergetool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
Позначте C

1
Спроба розібратися, як завантажити версію Windows p4merge за допомогою вашої посилання, видається досить завданням. Немає чіткого посилання на завантаження, яке я бачу.
Artif3x

25

Я не знаю хорошого безкоштовного інструменту, але winmerge - це нормально . Я використовую інструменти поза порівнянням з 1999 року і не можу його оцінити достатньо - він коштує близько 50 доларів, і ця інвестиція заплатила за це в економії часу більше, ніж я можу собі уявити.

Іноді за інструменти слід платити, якщо вони дуже хороші.


5
+1 для згадування платних варіантів.
eckes

1
winmerge - паршивий. Користувальницький інтерфейс ускладнює розгортання ліворуч праворуч.
Pacerier

1
Я використовував WinMerge роками і думаю, що це чудово. Тоді я перейшов на git для контролю версій і мені потрібен GUI для порівняння версій. Спочатку я спробував Meld для і виявив, що він хороший, але недостатній. Більше порівняння вирішив це для мене, і я дуже радий за це заплатити.
Стівен Хоскінг

16
  • TortoiseMerge (частина ToroiseSVN) набагато краще, ніж kdiff3 (я використовую і те, і можу порівнювати );
  • p4merge (від Perforce) також працює дуже добре;
  • Дифуз не так вже й поганий;
  • Diffmerge від SourceGear має лише один недолік в обробці UTF8-файлів без BOM, що робить непридатними для цього випадку.

TortoiseGitMerge насправді досить непоганий - я не знаю kdiff3, але ніколи не був нещасний або не пропустив нічого в TortoiseGitMerge, він дозволяє мені робити швидко і інтуїтивно як дво-, так і тристоронні злиття.
mindplay.dk

@ mindplay.dk - TortoiseGitMerge (здебільшого) хороший TortoiseMerge під капотом
Ледачий Барсук

TortoiseMerge не підтримує dir-diff
andrew.rockwell

1

Ще один безкоштовний варіант - jmeld: http://keeskuip.home.xs4all.nl/jmeld/

Це інструмент java, і тому його можна використовувати на декількох платформах.

Але (як згадував Преет у своїй відповіді), безкоштовно - це не завжди найкращий варіант. Найкращий інструмент для розрізнення та злиття, з яким я коли-небудь стикався, - це Araxis Merge . Стандартне видання доступне за 99 EUR, що не так вже й багато.

Вони також надають документацію про те, як інтегрувати Araxis з msysGit.

Якщо ви хочете дотримуватися безкоштовного інструменту, JMeld наближається до Araxis.


Я також чув багато хороших речей про Араксіс.
Преет Сангга

-1

Що не так у використанні Git для Windows? З огляду репо, є піктограма гілки, в якій ви знаходитесь (вгорі), і якщо натиснути на керування, ви можете перетягувати і опускати дуже візуально та зручно.


7
Я думаю, що питання стосувалося вирішення конфліктів злиття.
Leif Gruenwoldt
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.