Я не могу сделать git diff использовать opendiff
Я хочу использовать opendiff как инструмент сравнения по умолчанию для git diff. Раньше это работало, но по какой-то причине перестало работать. Я использую скрипт:
echo opendiff $2 $5 > opendiff-git.sh
который установлен в.gitconfig:
[diff]
external = ~/opendiff-git.sh
Это перестало работать для меня в последнее время. Что случилось?
Обновление: когда я клонировал новый репозиторий, все работало нормально! Странный!
3 ответа
Я нашел этот вопрос, когда пытался установить opendiff в качестве инструмента git diff & merge. Странно то, что когда я использовал echo opendiff $2 $5 > opendiff-git.sh для создания скрипта, скрипт не содержал заполнителей аргументов $ 2 $ 5, я добавил их вручную, и он начал работать!
Эта команда
echo opendiff $2 $5 > opendiff-git.sh
В результате файл opendiff-git.sh, содержащий
opendiff
Я добавил два аргумента заполнителей $ 2 $ 5 вручную
opendiff $2 $5
Сделал исполняемый скрипт оболочки как предложено knittl
chmod +x ~/opendiff-git.sh
И это работает!
Убедитесь, что ваш opendiff-git.sh
В файле установлены исполняемые биты:
chmod +x ~/opendiff-git.sh
Теперь вы можете указать инструмент по умолчанию, используя git config
, Использовать FileMerge, т.е. opendiff
, бежать:
git config --global diff.tool opendiff
Если вы просматриваете ~/.gitconfig
файл, теперь вы должны увидеть:
[diff]
tool = opendiff
Теперь должно работать.