Как я могу получить git diff, чтобы показать различия в файлах ярлыков Windows (*.lnk)?
(Q) Как я могу получить git diff
показать мне различия в файлах ярлыков (*.lnk) в Windows?
Например,
git status
On branch master
modified: Shortcuts/Dirs/DevNotes.lnk
git diff Shortcuts/Dirs/DevNotes.lnk
diff --git a/Shortcuts/Dirs/Dev Notes.lnk b/Shortcuts/Dirs/Dev Notes.lnk
index ebf8af1..8f466c3 100644
Binary files a/Shortcuts/Dirs/Dev Notes.lnk and b/Shortcuts/Dirs/Dev Notes.lnk differ
Вместо того чтобы сказать Binary files differ
Я хотел бы видеть что-то вроде:
- c:\users\user1\myenv\Docs\DevNotes
+ c:\users\user1\mystuff\myenv\Docs\DevNotes
Это позволяет мне легче решать, хочу ли я зафиксировать изменение или оставить его локальным для хоста.
Я сделал некоторые поиски и обнаружил, что Microsoft, похоже, обновляет файлы ярлыков, потому что это то, что она делает. Смотрите Как отследить файлы.lnk в git?, Интересно, что это может быть причиной того, что мои *.lnk файлы отображаются как разные, даже если они действительно не были изменены.
Моя вера
Git может быть настроен для поддержки пользовательских программ сравнения для разных типов файлов. diff.external и gitattributes выглядят многообещающе.
Файлы Windows *.lnk можно как-то сравнивать. Это отправная точка Извлечь путь из ссылки ярлыка - пакет Windows
Я могу сказать git использовать собственный скрипт, который знает только, как различать файлы *.lnk.
Я искал и нашел некоторые вещи, но ничего, что уже делает это: