Используйте 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.
Спасибо!
Ответы
Ответ 1
Эта ссылка указывает способ установки BeyondComapre в качестве инструмента сравнения в git
git config --global diff.tool bc3
git config --global difftool.bc3.path "c:/program files/beyond compare 3/bcomp.exe"
Чтобы запустить diff, используя Beyond Compare, используйте команду "git difftool foofile.txt
".
Ответ 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 по умолчанию не сопоставлена ни с одним из существующих ключей. Таким образом, вы можете использовать любой из следующих подходов:
-
Я могу сопоставить инструмент сравнения 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
-
Самый чистый подход - полностью определить новый ключ для нового инструмента сравнения или новой версии известного инструмента. Как и в моем случае, я определил новый ключ 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"