Мне удалось заставить git запустить Beyond Compare 3 в качестве инструмента сравнения, однако, когда я выполняю сравнение, файл, с которым я сравниваю, не загружается. Загружается только последняя версия файла и ничего больше, поэтому на правой панели Beyond Compare ничего нет.
Я запускаю git 1.6.3.1 с Cygwin с Beyond Compare 3. Я установил вне всякого сравнения, как они предлагают в части поддержки своего веб-сайта, с таким скриптом:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"path_to_bc3_executable" "$2" "$5" | cat
Кто-нибудь еще сталкивался с этой проблемой и знает решение?
Изменить:
я следил за предложениями VonC, но у меня все еще есть та же проблема, что и раньше. Я новичок в Git, поэтому, возможно, я неправильно использую diff.
Например, я пытаюсь увидеть разницу в файле с помощью такой команды:
git diff main.css
После этого откроется Beyond Compare, и на левой панели будет отображаться только мой текущий main.css, на правой панели ничего нет. Я хотел бы видеть мой текущий main.css на левой панели по сравнению с HEAD, в основном то, что я делал в последний раз.
Мой git-diff-wrapper.sh выглядит так:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"c:/Program Files/Beyond Compare 3/BCompare.exe" "$2" "$5" | cat
Моя конфигурация git для Diff выглядит так:
[diff]
external = c:/cygwin/bin/git-diff-wrapper.sh
источник
/c/program files
вместоc:/program files
. Также я удалил"$(cygpath -w $LOCAL)"
и просто использовал"$LOCAL"
. Похоже, это помогло.bcompare: command not found
- пока я не изменил ИМЯ инструмента сbc3
другого (напримерabc3
). Я предполагаю, что помешала какая-то внутренняя настройка Github. Также я удалил"$(cygpath -w $LOCAL)"
деталь и заменил ее на"$LOCAL"
. Теперь все работает нормально. Спасибо!Спасибо @dahlbyk , автору Posh-Git , за то, что он опубликовал его конфигурацию как суть . Это помогло мне решить проблему с конфигурацией.
источник
cmd = 'C:\\Program Files\\Beyond Compare 4\\BCompare.exe' \"$LOCAL\" \"$REMOTE\"
Выполните эти команды для Beyond Compare 2:
Выполните эти команды для Beyond Compare 3:
Затем используйте
git difftool
источник
Note: Use bc3 on the command line for both BC version 3 and 4
Официальная документация у меня работала
источник
Вот мой файл конфигурации. Пришлось немного побороться, но теперь это работает. Я использую сервер Windows, msysgit и выше сравнения 3 (по-видимому, версию x86). Вы заметите, что мне не нужно указывать какие-либо аргументы, и я использую «путь» вместо «cmd».
источник
Страница поддержки Beyond Compare немного кратковременна.
Подробнее см. Мой ответ diff.external (относительно точного синтаксиса)
Извлечь:
Примечание: вы также можете использовать
git difftool
.источник
похоже, что BC3 поддерживает только 3-стороннее слияние для PRO Edition. http://www.scootersoftware.com/moreinfo.php?zz=kb_editions
источник
Обратите внимание, что вы выбрали неверный путь на 2 доллара. потому что вы находитесь под Cygwin, а BC3 - нет, поэтому вы должны указать для него полный путь. например "d: / cygwin $ 2"
Пожалуйста, обратитесь к моему git-diff-wrapper.sh здесь:
Удачи.
источник
bcompare.exe $(cygpath -w $2)
. Приветствия.Если вы используете Windows 7 (профессиональная) и Git для Windows (версия 2.15 или выше), вы можете просто запустить команду ниже, чтобы узнать, какие различные инструменты сравнения поддерживаются вашим Git для Windows.
Вы увидите результат, похожий на этот
это означает, что ваш git прямо сейчас не поддерживает (не может найти) вне всякого сравнения как difftool.
Для того, чтобы Git мог найти вне сравнения как действительный инструмент difftool, вы должны иметь установочный каталог Beyond Compare в переменной среды вашего системного пути . Вы можете проверить это, запустив bcompare из оболочки (cmd, git bash или powershell. Я использую Git Bash). Если Beyond Compare не запускается, добавьте его установочный каталог (в моем случае C: \ Program Files \ Beyond Compare 4) в переменную системного пути. После этого перезапустите оболочку. Git покажет Beyond Compare как возможную опцию difftool. Вы можете использовать любую из следующих команд для запуска без сравнения как difftool (например, для сравнения любого локального файла с какой-либо другой веткой)
Вы можете настроить не только для сравнения, но и по умолчанию, используя команды ниже.
ps имейте в виду, что bc в приведенной выше команде может быть bc3 или bc в зависимости от того, что Git смог найти из вашей системной переменной path.
источник
Обновление для BC4 64bit: это работает для Git для Windows v.2.16.2 и Beyond Compare 4 - v.4.2.4 (64bit Edition)
Я вручную отредактировал файл .gitconfig, расположенный в моем корневом каталоге пользователя «C: \ Users \ MyUserName», и заменил теги diff / difftool и merge / mergetool на
источник
http://rubenlaguna.com/wp/2010/08/05/visual-difftool-cygwin-git/ есть решение, которое я принял для работы с BeyondCompare: http://gist.github.com/564573
источник
Разница заключается в вызываемом exe: настройте его для вызова bcomp.exe, и он будет работать нормально. Сконфигурируйте свою среду для вызова bcompare.exe, и в итоге сторона сравнения, взятая из вашей системы ревизий, будет пустой.
источник
Выполните эти команды для Beyond Compare 3 (если путь BCompare.exe в вашей системе отличается, замените его на свой):
Затем используйте
git difftool
источник
Windows 10, Git v2.13.2
Мой .gitconfig. Не забудьте добавить escape-символ для '\' и '"'.
Вы можете ссылаться на настройку без сравнения как на difftool для использования команд git для ее настройки.
источник
По какой-то причине для меня файл tmp, созданный git diff, удалялся до того, как он открылся вне всякого сравнения. Сначала мне пришлось скопировать его в другое место.
источник
Для MAC после долгих исследований у меня это сработало ..! 1. Установите вне сравнения, и он будет установлен в указанном ниже месте.
Выполните следующие действия, чтобы сделать bc инструментом сравнения / слияния в git http://www.scootersoftware.com/support.php?zz=kb_mac
источник
Для git версии 2.15.1.windows.2 с BC2.exe.
Конфигурация ниже наконец работает на моей машине.
[difftool "bc2"] cmd = \"c:/program files/beyond compare 2/bc2.exe\" ${LOCAL} ${REMOTE}
источник