(В) Как мне получить 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 использовать пользовательский сценарий, который знает только, как diff * .lnk файлы.
Я искал и нашел некоторые вещи, но ничего, что уже делает это: