Используйте BeyondCompare, чтобы увидеть разницу между файлами в GIT

Прежде чем выполнить свои изменения, я хочу увидеть разницу с помощью BeyondCompare в GIT. Как настроить BeyondCompare, чтобы увидеть разницу в моих файлах.

Я просмотрел эту ссылку, но это не помогло.

BeyondCompare установлен в этом месте в моей системе: C:\program files\Beyond Compare\BCompare.exe

Я выполнил следующие две команды:

 git config --global merge.tool bc

git config --global mergetool.bc.path "C:\program files\Beyond Compare\BCompare.exe"

Я использую GIT для Windows 7.

Спасибо!

Ответ 2

Я просто уточню подробнее о принятом ответе @SharpCoder.

Первая команда, которую мы запускаем, выглядит так:

git config --global diff.tool bc3

Приведенная выше команда создает .gitconfig запись в .gitconfig найденном в %userprofile%:

[diff]
    tool = bc3

Затем вы запускаете команду ниже (Выполнение этой команды является избыточным в данном конкретном случае и требуется только в некоторых специализированных случаях. Вы узнаете об этом в ближайшее время):

git config --global difftool.bc3.path "c:/program files/beyond compare 3/bcomp.exe"

Команда выше создает .gitconfig запись в файле .gitconfig:

[difftool "bc3"]
    path = c:/program files/Beyond Compare 3/bcomp.exe

Здесь нужно знать ключ bc3. Это хорошо известный ключ для git, соответствующий определенной версии известных инструментов сравнения, доступных на рынке (bc3 соответствует 3-й версии инструмента Beyond Compare). Если вы хотите увидеть все предопределенные ключи, просто запустите git difftool --tool-help в git bash. Это возвращает ниже список:

vimdiff
vimdiff2
vimdiff3
araxis
bc
bc3
codecompare
deltawalker
diffmerge
diffuse
ecmerge
emerge
examdiff
gvimdiff
gvimdiff2
gvimdiff3
kdiff3
kompare
meld
opendiff
p4merge
tkdiff
winmerge
xxdiff

Вы можете использовать любой из вышеперечисленных ключей или определить свой собственный ключ. Если вы хотите полностью настроить новый инструмент (или недавно выпущенную версию известного инструмента well-), который не сопоставляется ни с одним из перечисленных выше ключей, вы можете сопоставить его с любым из перечисленных выше ключей или с новый собственный ключ.

Что делать, если вам нужно настроить инструмент сравнения, который

  • Абсолютно новый на рынке

ИЛИ ЖЕ

  • Выпущена новая версия существующего известного инструмента, который не сопоставлен ни с какими предопределенными ключами в git?

Как и в моем случае, я установил "вне сравнения 4. вне сравнения" - известный инструмент well- для git, но его версия 4 по умолчанию не сопоставлена ни с одним из существующих ключей. Таким образом, вы можете использовать любой из следующих подходов:

  1. Я могу сопоставить инструмент сравнения 4 с уже существующим ключом bc3 который соответствует версии сравнения 3. У меня не было превосходной версии 3 на моем компьютере, поэтому мне было все равно. Если бы я хотел, я мог бы сопоставить его с любой из предварительно определенных клавиш в списке выше, например, examdiff.

    Если вы сопоставите хорошо известную версию инструментов с соответствующим уже существующим /well- известным ключом, вам не нужно будет запускать вторую команду, поскольку их путь установки уже известен git.

    Например, если бы я установил превосходящую версию 3 на моем компьютере, то для .gitconfig было бы достаточно иметь .gitconfig конфигурацию в моем файле .gitconfig:

    [diff]
    tool = bc3
    

    Но если вы хотите изменить связанный по умолчанию инструмент, тогда вы в конечном итоге упомянете атрибут path отдельно, чтобы git узнал путь, откуда должен быть запущен ваш новый инструмент. Вот запись, которую лисы должны запустить за пределы сравнения 4. Обратите внимание на путь exe:

    [difftool "bc3"]
    path = c:/program files/Beyond Compare 4/bcomp.exe
    
  2. Самый чистый подход - полностью определить новый ключ для нового инструмента сравнения или новой версии известного инструмента. Как и в моем случае, я определил новый ключ bc4 чтобы его было легко запомнить. В таком случае вам нужно выполнить всего две команды, но ваша вторая команда не будет устанавливать путь к вашему новому исполняемому файлу инструмента. Вместо этого вы должны установить атрибут cmd для вашего нового инструмента, как показано ниже:

    git config --global diff.tool bc4
    
    git config --global difftool.bc4.cmd "\"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\" -s \"\$LOCAL\" -d \"\$REMOTE\""
    

    Выполнение вышеуказанных команд создает следующие записи в вашем файле .gitconfig:

    [diff]
    tool = bc4
    [difftool "bc4"]
    cmd = \"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\" -s \"$LOCAL\" -d \"$REMOTE\"
    

Я настоятельно рекомендую вам следовать подходу № 2, чтобы избежать путаницы в будущем.

Ответ 3

Помимо сравнения, это инструмент mergetool и diff. В любом случае, у меня есть это для обеих операций. Когда я хочу увидеть различия между моим текущим состоянием и последним, я написал

    git diff 

для быстрого вывода текста и небольших изменений и

   git difftool

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

   git difftool (commit1) (commit2)

и сравнить все файлы один за другим (очень продуктивные и полезные)

Ответ 4

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

git config --global merge.tool bc
git config --global mergetool.bc.path "C:/program files/Beyond Compare/BCompare.exe"